New Cog VMs available

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

New Cog VMs available

Eliot Miranda-2
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3114/.

CogVM binaries as per VMMaker.oscog-eem.913/r3114

Spur:
Fix baaaad bug in checking for still-married contexts in Spur.  One *cannot*
simply follow what is assumed to be the frameContext field of what is presumed
to be a context.  On Spur we need to *know* whether we have a valid frameContext
field, and for that we have to know there is a valid frame.  So refactor, moving
isFrame:onPage: from StackInterpreterPrimitives to StackInterpreter, and use it
to validate the frame pointer of a maybe married context before testing the
context for being forwarded.

All:
Avoid cogging methods containing unknown bytecodes early in scanMethod.  Use a
hack to avoid a test on the common path.  Fix assert fail cases in
ceInterpretMethodFromPIC:receiver:

Both of these together fix assert fails due to cogging methods containing
unknown bytecodes.

Spur:
Implement image segments.  Use Igor's idea of splitting the computation of the
transitive closure from the writing of the image segment for simplicity, even
if the two are together into a single primitive for backwards-compatibility.

All:
Rewrite the two image segment primitives to pass back an error code on failure,
and rewrite the (New)ObjectMemory code to answer informative failure codes.

Print slots of word objects in longPrintOop:

Fix parenthesization bugs in validation code in some Alien plugin primtiives.

Make findClassContainingMethod:startingAt: et al robust in the face of
faulted-out classes (nil method dictionaries).

Include the AioPlugin in the Newspeak linux VMs; recent reports indicate it's
essential to good performance in recent versions of OSProcessPlugin.

Unix startup script:
Quote the LD_LIBRARY_PATH setting to tolerate directory names  with spaces.


--
best,
Eliot