[Vm-dev] VM Maker: VMMaker.oscog-eem.1436.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Aug 18 03:48:39 UTC 2015
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1436.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1436
Author: eem
Time: 17 August 2015, 8:47:20.904 pm
UUID: 9d2442c4-2066-4ffd-a215-e7e2b6cb8eed
Ancestors: VMMaker.oscog-eem.1435
Fix the bug introduced by the fix to primitive function invocation in VMMaker.oscog-eem.1351 The fix correctly changd primitjve code to set the primitiveFunctionPointer appropriately when a jitted external primitive was rebound, but it didn't remember to void the jit's record of the offset of the assignment that sets the primitiveFunctionPointer when switching between profiling andf non-profiling regimes, so that the address from the wrong regime would remain and be used to smash prmitive code. The fix is simply to void the externalSetPrimOffsets in voidCogCompiledCode.
This fixes the bug whose symptom is a hard VM crash when using AndreasSystemProfilier.
=============== Diff against VMMaker.oscog-eem.1435 ===============
Item was changed:
----- Method: SimpleStackBasedCogit>>voidCogCompiledCode (in category 'jit - api') -----
voidCogCompiledCode
<api>
methodZone clearCogCompiledCode.
0 to: MaxNumArgs do:
[:i|
externalPrimJumpOffsets at: i put: nil.
+ externalPrimCallOffsets at: i put: nil.
+ externalSetPrimOffsets at: i put: nil]!
- externalPrimCallOffsets at: i put: nil]!
More information about the Vm-dev
mailing list