CogVM source as per VMMaker.oscog-eem.2116
Fixed a bug where the CogVMFeatureFlags were converted twice to SmallInteger
(in getCogVMFeatureFlags and in primitiveVMParameter), shifting 1 time too many
the flags. Hence MULTIPLEBYTECODESETS flag was always true in the image while
SUPPORTSWRITEBARRIER was true only if the VM supported multiple bytecode set.
Make printFrame: lax enough to accept a married context and print its frame
Decode a method header when doing longPrintOop:.
Add printOopsSuchThat: for debugging.
Include rawNumSlots and eliminate the hex prefix in printEntity:'s size info.
Change attemptToShrink to request the segmentManager to shrink by at least
growHeadroom, since it won't otherwise. Have shrinkObjectMemory: answer if
shrinkage occurred, and only increment statShrinkMemory if so.
Add leak checking of CogMethod counters and implicit receiver caches.
Follow jumps to jumps and push: aBoolean; jump:if:s, eliminating dead code.
Elimnate jumps to the immediately following instruction in
Added support for BitShiftRight: and bitShiftLeft: unsafe operations
Added support for inlined primitive #characterAsInteger.
Fixed a bug where branchIfNotInstanceOf: span function misscomputed the
distance when ExtB is negated to inverse the branch.
Set deadCode to true in trap bytecode to avoid generating merge machine code
that is never reached.
Use Spur's single-bit tests for immediates in the
Fix the ssFlushTo: call in genExtJumpIfNotInstanceOfBehaviorsBytecode
Fix coging optimized methods with lots of literals.
Change the machine compilation of BranchIfInstanceOf if there is one Behavior
and the behavior is UndefinedObject, True and False to compile to a direct
comparison to the unique instances instead of class index check.
Add a new trampoline to create new hashes. The trampoline is Sista only and
it's used in the inlined primitive.
Fix FFI in 64bits. The moduleHandle (a pointer) was incorrectly truncated to
an int (32bits).
64 bits version of Lowcode. All of the tests for WodenMath are passing.
Workaround a GCC crash in Windows when building a Lowcode VM. Too much register
allocation pressure for calling a builtin memcpy.