New CogVMs available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

New CogVMs available

Eliot Miranda-2


CogVM binaries as per VMMaker.oscog-eem.1315/r3350

General:
Make the bounds check in primitiveObject:perform:...
more restrictive and fix bugs in the commentary.

Make stack pages a reasonable size.  My math was
wrong and the size was half as big as intended.

Extend the fastPrimTrace scheme to trace stack overflow, prim failure and prim
retry to help debug the phantom stack frame bug in Cog Spur.

Cogit:
Fix old bug in ceMNUFromPICMNUMethod:receiver: that has been masked by
cacheing of MNU method in MNU PIC entries.  ceMNUFromPICMNUMethod:receiver:
must set up lkupClass before calling handleMNU:...

Revamp icache flushing in the Cogit for ARM.  Move icache flush for generated
methods/pics to the fillIn*Header: routines.  Make sure the cache is flushed
in generateCaptureCStackPointers:.  Flush the entire PIC when extending it.

Fix ARM-only regression in StackToRegisterMappingCogit's
PIC aborts when the SimpleStackBasedCogit was fixed.

Make ARM rotated 8bit constants actually be correct(er) ie
16r4000001 (SmallInteger 16r2000000) work.

Spur:
Fix ceActivateFailingPrimitiveMethod: to return properly after retrying
a primitive after checkForAndFollowForwardedPrimitiveState. e.g. fixes
  | s | 1 to: 5 do: [:i| s := 'bar'. s becomeForward: 'bzzt' copy. 'foo' <= s]

Fix bug in followForwardedFrameContents:stackPointer: so that arguments are
actually followed.  N.B. drives the above bug underground ;-).
so that named constants (defines) are not elided.

Make accessor depth calculation more accurate by not considering
fetchInteger:ofObject: and arraySize: et al as object accessors.

Newspeak:
Remove landmine left from restructing implicit receiver and outer sends as
clean sends.

Slang:
Do a more thorough job of transforming complex to:[by:]do: loops so that the
limit expression is only evaluated once, not on each iteration of the loop.

Make the read-before-written initializer safer, only initialzing simple types.

Plugins:
Regenerated because of changes in accessorDepth calculation,
constant elimination, and read-before-use initialization.


--
best,
Eliot