Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-oscog.14.mcz==================== Summary ====================
Name: VMMaker-oscog.14
Author: eem
Time: 23 June 2010, 12:11:20 pm
UUID: d50a4520-06c6-490c-8d24-900eff2ef35e
Ancestors: VMMaker-eem.13
CogVM:
Fix saving frames above interior frame for co-routining in
non-local return.
Remove unnecessary check in B3DAccelleratorPlugin>>stackMatrix:
=============== Diff against VMMaker-oscog.12 ===============
Item was changed:
VMStructType subclass: #CogBytecodeDescriptor
+ instanceVariableNames: 'generator spanFunction numBytes stackDelta needsFrame needsFrameInBlock isBranch isBackwardBranch isReturn isBlockCreation isMapped'
- instanceVariableNames: 'generator spanFunction numBytes needsFrame needsFrameInBlock isBranch isBackwardBranch isReturn isBlockCreation isMapped'
classVariableNames: ''
poolDictionaries: ''
category: 'VMMaker-JIT'!
!CogBytecodeDescriptor commentStamp: '<historical>' prior: 0!
+ I am an entry in the Cogit's dispatch table for bytecodes. I hold the routine to call to generate code for the partcular bytecode I represent and the number of bytes the bytecode has. For eliminating temps in frameless blocks I maintan a stack delta for bytecodes that are valid in a frameless block.!
- I am an entry in the Cogit's dispatch table for bytecodes. I hold the routine to call to generate codee for the partcular bytecode I represent and the number of bytes the bytecode has.!
Item was changed:
----- Method: B3DAcceleratorPlugin>>stackMatrix: (in category 'primitive support') -----
stackMatrix: index
"Load a 4x4 transformation matrix from the interpreter stack.
Return a pointer to the matrix data if successful, nil otherwise."
| oop |
<inline: false>
<returnTypeC:'void*'>
oop := interpreterProxy stackObjectValue: index.
oop = nil ifTrue:[^nil].
- oop = interpreterProxy nilObject ifTrue:[^nil].
((interpreterProxy isWords: oop) and:[(interpreterProxy slotSizeOf: oop) = 16])
ifTrue:[^interpreterProxy firstIndexableField: oop].
^nil!
Item was changed:
(excessive method size, no diff calculated)
Item was changed:
(excessive method size, no diff calculated)
Item was changed:
----- Method: ObjectMemory class>>requiredMethodNames (in category 'translation') -----
requiredMethodNames
"return the list of method names that should be retained for export or other support reasons"
+ ^ #(byteSwapped: checkedLongAt: firstAccessibleObject noteAsRoot:headerLoc: splObj: printReferencesTo:)!
- ^ #(checkedLongAt: firstAccessibleObject noteAsRoot:headerLoc: splObj: printReferencesTo:)!