[Vm-dev] Jitted methods cache primitive failures?

Levente Uzonyi leves at caesar.elte.hu
Sun May 1 22:44:58 UTC 2016


Hi All,

If you try to use a method with a primitive, and that primitive fails for 
the first time for some reason (e.g. the plugin can't be loaded), then 
subsequent sends of the same method will always fail, even if they would 
work normally. The workaround I found was recompiling the method.
To reproduce:
1. Open a Squeak Trunk image with a working SqueakSSL plugin.
2. Rename the plugin to SqueakSSL_.
3. Evaluate [SqueakSSL new]. Its primitive should fail.
4. Close the debugger and rename the plugin to SqueakSSL.
5. Try [SqueakSSL new] again. It's primitive should fail again, despite 
the fact that the plugin is at its place.
6. Evaluate [SqueakSSL compileAll] and then [SqueakSSL new]. This time it 
should work.

Levente


More information about the Vm-dev mailing list