Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ignore the last commit message. It was just a merge. Git confused me.
CogVM source as per VMMaker.oscog-eem.2420 Spur: Extend semantics of primitives 165 & 166 (integerAt:[put:], signed indexing of 32-bit word classes) to byte, short and double word classes; actually, all classes; this is a signedversion of 60 & 61 basicAt:[put:]. Refactor CogObjectRepresentationFor32|64BitSpur genPrimitiveAt[Put] into genPrimitiveAt[Put]Signed:. Extend Ronie's support for sign extension to all processors, generating the simple move,signed shift sequence on processors without native sign extension (i.e. ARM). Added stats for Marking time and sweep time in full GC. Make them available as vm parameters 72 and 73. Now we have: fullGCTime = markingTime + scavengeTime + compactionTime With all but scavenge time available, but can be computed in-image from the 3 others. We note that compactionTime includes sweepTime for convenience. Depending on the compactor used, we have: Planning -> sweepTime = 0. Sweeper -> sweepTime = compactionTime. Selective -> selectiveCompactionTime = compactionTime - sweepTime Slang: Extend constant elimination/analysis for generate[Signed]BitShift:on:indent: so that isSignedInteger:inRangeForBits: generates a simple one-way shift for integer signedBitShift: 1 - nBits when inlined and nBits is a constant (see primitiveSpurIntegerAtPut). Simulator: Nuke some obsolete primitive experiments.
- Loading branch information