[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] bce195: CogVM source as
per VMMaker.oscog-eem.1948
GitHub
noreply at github.com
Wed Sep 7 12:51:48 UTC 2016
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: bce1958136cca35f193b76804aa9957abd6a3e64
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bce1958136cca35f193b76804aa9957abd6a3e64
Author: Eliot Miranda <eliot.miranda at gmail.com>
Date: 2016-09-07 (Wed, 07 Sep 2016)
Changed paths:
A build.macos32x86/pharo.stack.spur/Makefile
A build.macos32x86/pharo.stack.spur/mvm
A build.macos32x86/pharo.stack.spur/plugins.ext
A build.macos32x86/pharo.stack.spur/plugins.int
M nsspur64src/vm/cogit.h
M nsspur64src/vm/cogitX64.c
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M nsspursrc/vm/cogit.h
M nsspursrc/vm/cogitARMv5.c
M nsspursrc/vm/cogitIA32.c
M nsspursrc/vm/cogitMIPSEL.c
M nsspursrc/vm/cointerp.c
M nsspursrc/vm/cointerp.h
M nsspursrc/vm/gcc3x-cointerp.c
M nsspurstack64src/vm/gcc3x-interp.c
M nsspurstack64src/vm/interp.c
M nsspurstacksrc/vm/gcc3x-interp.c
M nsspurstacksrc/vm/interp.c
M spur64src/vm/cogit.h
M spur64src/vm/cogitX64.c
M spur64src/vm/cointerp.c
M spur64src/vm/cointerp.h
M spur64src/vm/gcc3x-cointerp.c
M spursistasrc/vm/cogit.h
M spursistasrc/vm/cogitARMv5.c
M spursistasrc/vm/cogitIA32.c
M spursistasrc/vm/cogitMIPSEL.c
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursrc/vm/cogit.h
M spursrc/vm/cogitARMv5.c
M spursrc/vm/cogitIA32.c
M spursrc/vm/cogitMIPSEL.c
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
M spursrc/vm/gcc3x-cointerp.c
M spurstack64src/vm/gcc3x-interp.c
M spurstack64src/vm/interp.c
M spurstacksrc/vm/gcc3x-interp.c
M spurstacksrc/vm/interp.c
M src/vm/cogit.h
M src/vm/cogitARMv5.c
M src/vm/cogitIA32.c
M src/vm/cogitMIPSEL.c
M src/vm/cointerp.c
M src/vm/cointerp.h
M src/vm/cointerpmt.c
M src/vm/cointerpmt.h
M src/vm/gcc3x-cointerp.c
M src/vm/gcc3x-cointerpmt.c
M stacksrc/vm/gcc3x-interp.c
M stacksrc/vm/interp.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.1948
General:
Fix off-by-one error in an assert
Fixes related to Immutability / read-only objects:
- weak structures can't be mmutable
- primitiveStringReplace fails if the receier is immutable only if it attempts to mutate something.
SistaBytecodeSet/FullBlocks:
Re-enabled full block compilation to machine code.
Fix marryFrame:SP:copyTemps: for full blocks; the closureOrNil field must
still be set. Add an assert to primitiveFindNextUnwindContext that caught a
side-effect of the bug.
Added assertion ensuring that when a method is jitted, the compiled code
jitted is a compiled method and when a block is jitted, the compiled code
jitted is a compiled block.
Improve stack backtrace printing for full blocks.
Disabled 2 paths compiltion on full blocks.
Find the home of a full block for context printing. Fix pc mapping for full
block closures (mustMapMachineCodePC:context:).
In the Cogit change inBlock to be an integer value, 0 for methods, 1 for
vannilla blocks and 2 for full blocks (to reuce the amount of refactoring
now and when removing vanilla block support some time in the future).
Add trampolines for creating small and large full block contexts in the Spur
object representation.
Get frameless full block prolog generation more correct than it was ;-)
Added a deny to ensure the block can be frameless. Works both for blocks and
full blocks.
More information about the Vm-dev
mailing list