Re: VectorEnginePlugin changes circa march 2026
Eliot Miranda <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <CAC20JE1G20=SZhS2Dkd78gseMd2uy0yV2sBPrA4BH4r4CTOX1A@mail.gmail.com> |
(& ignore my request for the OS; I was being blind; Sorry)
But can you run e.g. dumpbin /exports on VectorEnginePlugin.dll?
Here's what i get on an ARMv8 Windows build. Looks like everything is in
place:
Z:\oscogvm\building\win64ARMv8\squeak.cog.spur>dumpbin /exports
build\vm\VectorEnginePlugin.dll
Microsoft (R) COFF/PE Dumper Version 14.40.33812.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file build\vm\VectorEnginePlugin.dll
File Type: DLL
Section contains the following exports for VectorEnginePlugin.dll
00000000 characteristics
FFFFFFFF time date stamp
0.00 version
1 ordinal base
81 number of functions
81 number of names
ordinal hint RVA name
1 0 00001000 dashedStrokeBitsSet = dashedStrokeBitsSet
2 1 0000F258 dashedStrokeBitsSetMetadata =
dashedStrokeBitsSetMetadata
3 2 00001158 getModuleName = getModuleName
4 3 00001164 pluginApiVersion = pluginApiVersion
5 4 0000119C primAntiAliasingWidthsubPixelDelta =
primAntiAliasingWidthsubPixelDelta
6 5 0000F25C primAntiAliasingWidthsubPixelDeltaMetadata =
primAntiAliasingWidthsubPixelDeltaMetadata
7 6 0000128C primArc = primArc
8 7 0000F260 primArcMetadata = primArcMetadata
9 8 00001C58 primArcWP = primArcWP
10 9 0000F264 primArcWPMetadata = primArcWPMetadata
11 A 00002374 primBlendFillOnly = primBlendFillOnly
12 B 0000F268 primBlendFillOnlyMetadata =
primBlendFillOnlyMetadata
13 C 00002A94 primBlendFillOnlyWP = primBlendFillOnlyWP
14 D 0000F26C primBlendFillOnlyWPMetadata =
primBlendFillOnlyWPMetadata
15 E 000030A0 primBlendStrokeAndFill = primBlendStrokeAndFill
16 F 0000F270 primBlendStrokeAndFillMetadata =
primBlendStrokeAndFillMetadata
17 10 00003AD0 primBlendStrokeAndFillWP =
primBlendStrokeAndFillWP
18 11 0000F274 primBlendStrokeAndFillWPMetadata =
primBlendStrokeAndFillWPMetadata
19 12 000042F4 primBlendStrokeOnly = primBlendStrokeOnly
20 13 0000F278 primBlendStrokeOnlyMetadata =
primBlendStrokeOnlyMetadata
21 14 0000475C primBlendStrokeOnlyWP = primBlendStrokeOnlyWP
22 15 0000F27C primBlendStrokeOnlyWPMetadata =
primBlendStrokeOnlyWPMetadata
23 16 00004BBC primClearClippingSpec = primClearClippingSpec
24 17 00004BCC primClipLeftclipTopclipRightclipBottom =
primClipLeftclipTopclipRightclipBottom
25 18 0000F280 primClipLeftclipTopclipRightclipBottomMetadata =
primClipLeftclipTopclipRightclipBottomMetadata
26 19 00004D10 primCubicBezier = primCubicBezier
27 1A 0000F284 primCubicBezierMetadata = primCubicBezierMetadata
28 1B 0000535C primCubicBezierWP = primCubicBezierWP
29 1C 0000F288 primCubicBezierWPMetadata =
primCubicBezierWPMetadata
30 1D 00005994 primCurrentMorphId = primCurrentMorphId
31 1E 0000F28C primCurrentMorphIdMetadata =
primCurrentMorphIdMetadata
32 1F 00005A24 primDisplayByteString = primDisplayByteString
33 20 0000F290 primDisplayByteStringMetadata =
primDisplayByteStringMetadata
34 21 000061F0 primDisplayByteStringWP = primDisplayByteStringWP
35 22 0000F294 primDisplayByteStringWPMetadata =
primDisplayByteStringWPMetadata
36 23 00006CE8 primDisplayUtf32 = primDisplayUtf32
37 24 0000F298 primDisplayUtf32Metadata =
primDisplayUtf32Metadata
38 25 00007524 primDisplayUtf32WP = primDisplayUtf32WP
39 26 0000F29C primDisplayUtf32WPMetadata =
primDisplayUtf32WPMetadata
40 27 00007D60 primDisplayUtf8 = primDisplayUtf8
41 28 0000F2A0 primDisplayUtf8Metadata = primDisplayUtf8Metadata
42 29 00008544 primDisplayUtf8WP = primDisplayUtf8WP
43 2A 0000F2A4 primDisplayUtf8WPMetadata =
primDisplayUtf8WPMetadata
44 2B 00008D24 primFillRGBA = primFillRGBA
45 2C 0000F2A8 primFillRGBAMetadata = primFillRGBAMetadata
46 2D 00008E8C primGeometryTxSet = primGeometryTxSet
47 2E 0000F2AC primGeometryTxSetMetadata =
primGeometryTxSetMetadata
48 2F 00009050 primInitializePath = primInitializePath
49 30 0000909C primLine = primLine
50 31 0000F2B0 primLineMetadata = primLineMetadata
51 32 000093C4 primLineWP = primLineWP
52 33 0000F2B4 primLineWPMetadata = primLineWPMetadata
53 34 000096EC primNewTrajectoryFragment =
primNewTrajectoryFragment
54 35 00009728 primPathSequence = primPathSequence
55 36 0000F2B8 primPathSequenceMetadata =
primPathSequenceMetadata
56 37 00009D3C primPathSequenceWP = primPathSequenceWP
57 38 0000F2BC primPathSequenceWPMetadata =
primPathSequenceWPMetadata
58 39 0000A344 primQuadraticBezier = primQuadraticBezier
59 3A 0000F2C0 primQuadraticBezierMetadata =
primQuadraticBezierMetadata
60 3B 0000A4DC primQuadraticBezierWP = primQuadraticBezierWP
61 3C 0000F2C4 primQuadraticBezierWPMetadata =
primQuadraticBezierWPMetadata
62 3D 0000A674 primResetContour = primResetContour
63 3E 0000F2C8 primResetContourMetadata =
primResetContourMetadata
64 3F 0000A7F0 primSetClippingSpec = primSetClippingSpec
65 40 0000F2CC primSetClippingSpecMetadata =
primSetClippingSpecMetadata
66 41 0000A884 primSetTarget = primSetTarget
67 42 0000F2D0 primSetTargetMetadata = primSetTargetMetadata
68 43 0000AAE0 primSetTargetWP = primSetTargetWP
69 44 0000F2D4 primSetTargetWPMetadata = primSetTargetWPMetadata
70 45 0000AD3C primSpanBottom = primSpanBottom
71 46 0000AD88 primSpanLeft = primSpanLeft
72 47 0000ADE8 primSpanRight = primSpanRight
73 48 0000AE44 primSpanTop = primSpanTop
74 49 0000AE98 primStrokeRGBA = primStrokeRGBA
75 4A 0000F2D8 primStrokeRGBAMetadata = primStrokeRGBAMetadata
76 4B 0000B000 primStrokeWidthHop = primStrokeWidthHop
77 4C 0000F2DC primStrokeWidthHopMetadata =
primStrokeWidthHopMetadata
78 4D 0000B154 primTargetAssumedOpaque = primTargetAssumedOpaque
79 4E 0000F2E0 primTargetAssumedOpaqueMetadata =
primTargetAssumedOpaqueMetadata
80 4F 0000B1E8 primUpdateContourLastLine =
primUpdateContourLastLine
81 50 0000B228 setInterpreter = setInterpreter
Summary
1000 .data
1000 .pdata
2000 .rdata
1000 .reloc
C000 .text
On Thu, Aug 13, 2026 at 1:37 PM Eliot Miranda <[email protected]>
wrote:
> Hi Stéphane,
>
> On Thu, Aug 13, 2026 at 2:59 AM Stéphane Rollandin <[email protected]>
> wrote:
>
>> Hello again,
>>
>> I am still in the process of porting my code to Squeak6.1
>>
>> I see that the VectorEnginePlugin.dll in the Windows 64 VM has changed
>> from release https://files.squeak.org/6.1beta/Squeak6.1beta-23713-64bit/
>> to release https://files.squeak.org/6.1beta/Squeak6.1beta-23837-64bit/
>>
>> After this changes, it shrunk from around 278 Ko to 74 Ko, and stopped
>> working for me.
>>
>
> I'm not sure. Can you provide the info in About Squeak for these two, and
> which OS you're running on?
>
> If I look at the size of the generated code for all revisions of the
> VectorEnginePlugin I don't see any obvious changes that would account for
> this.
>
> $ for c in `git log src/plugins/VectorEnginePlugin/VectorEnginePlugin.c |
> grep \^commit | sed 's/^commit //'`; do echo $c; git show -s --format=%cd
> $c;git show $c:src/plugins/VectorEnginePlugin/VectorEnginePlugin.c | wc;
> done
> 759d8f204b9c7f2e4e69a138a55d96209ec2d552
> Thu Mar 5 14:49:45 2026 -0800
> 5637 23356 183347
> d0e7e461e59e51560158d4f319164949472b9627
> Sun Nov 16 12:09:50 2025 -0800
> 5633 23338 183231
> a51d41c162db9b5f4050733dd0e1e46d0136fcd0
> Sun Nov 16 10:32:15 2025 -0800
> 5633 23338 183230
> b5f212dc137c2b135cd7a6b2eea71df87998d5ea
> Thu Oct 23 11:08:07 2025 -0700
> 5633 23338 183230
> 026ca645ea9e169e81a0db08c2e0f87e2651646b
> Sun Aug 31 16:59:38 2025 -0700
> 5628 22968 180990
> 3be65d09f4f119843ee8aa83681ff7c9050cb810
> Sat Aug 30 23:14:07 2025 -0700
> 5628 22968 181002
> aa56b1d75daa9daa8f3cb0026cf368b556ac9a05
> Tue May 20 13:09:20 2025 -0700
> 5628 22971 181008
> fe164819e4a3057e5dad61525334f7e6fdbd85ce
> Thu Apr 24 13:41:50 2025 -0700
> 5628 22969 180992
> 22aec3d8957d837dd297c48e2a2ef8a452f0094b
> Sat Feb 8 12:02:59 2025 -0800
> 5038 20035 162118
>
>
>> For example,
>>
>> <primitive: 'primStrokeWidth' module: 'VectorEnginePlugin'>
>>
>> now fails.
>>
>
> Hmmm, the current commit contains primStrokeWidthHop, not primStrokeWidth.
> So this changed in April of last year:
>
> fe164819e4a3057e5dad61525334f7e6fdbd85ce
> Thu Apr 24 13:41:50 2025 -0700
> EXPORT(sqInt) primStrokeWidthHop(void);
> primStrokeWidthHop(void)
> {(void*)_m, "primStrokeWidthHop\000\000\000", (void*)primStrokeWidthHop},
> 22aec3d8957d837dd297c48e2a2ef8a452f0094b
> Sat Feb 8 12:02:59 2025 -0800
> EXPORT(sqInt) primStrokeWidth(void);
> primStrokeWidth(void)
> {(void*)_m, "primStrokeWidth\000\000\000", (void*)primStrokeWidth},
>
>
>> Is this expected? What happened exactly?
>>
>
> Looks like it. I would check the Cuis vectorEngine sources and see if they
> have changed,
>
> Stef
>>
>> Squeak-dev mailing list -- [email protected]
>> To unsubscribe send an email to
>> [email protected]
>>
>
> HTH
>
> _,,,^..^,,,_
> best, Eliot
>
--
_,,,^..^,,,_
best, Eliot
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]