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.r3326.

CogVM binaries as per VMMaker.oscog-eem.1297/r3326

NewspeakVM:
Thread lookup rule through from bytecodes to internalFindNewMethod:.

Fix genInnerPrimitiveMirrorNewWithArg:.  Class's hash was being accessed twice,
reusing variable holding jump instruction.

Fix primitiveClass and genPrimitiveClass for mirror case (arg count = 1). Also
fix Newspeak primitive table to allow nargs > 0 for genPrimitiveClass.

General:
Fix a regression in externalInstVar:ofContext:.  The head frame pointers must
be written back if we're going to map a machince code pc to a bytecode pc in
case of code reclamation.  Add asserts to the stack page enumerators to check
that the head frame pointers have been written back.

Use macros for the oop comparisons, avoiding cCoerce:, to get faster simulation
and avoid the inliner not inlining in conditionals.

Spur:
Change computeRefCountToShrinkRT to
- compute the ref counts and population in a single pass over the RT
- determine the ref count for tenuring based on half the population of
  remembered objects, /not/ half the size of the RT.

Sista:
Remove the storeCheck in inlined pointer at:put: if the value stored is an
unannotatable constant.

Increased the opcode size heuristic in the SistaCogit.


--
best,
Eliot