Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CogVM source as per VMMaker.oscog-eem.2359
Cogits: Fix regression introduced in VMMaker.oscog-eem.2333 or thereabouts when improving comoilation breakpoint. maybeSelectorOfMethod can answer nil so a guard is needed. Fix ceSend:aboveClassBinding:to:numArgs:, which forgot to indirect through the binding before sending ceSend:above:to:numArgs:. Sista Cogit: This commit: - extends the Sista instruction set (new conditional jumps on mutability, age, backjump without interrupt points, new inlined arithmetics, inlined allocation up to 65k supported, possibleRoot, etc.) both in the interpreter and the JIT - all the interpreter version are now filled with many assertions, so it is now possible to compile a StackVM with SistaVM option and debug easily the optimized code using the assertions. - refactors a bit all inline primitives (Since now there is many) - reworked a bit the bytecode set so all bytecodes except traps, mappedInlinedPrimitive and callPrimitive are normal Smalltalk bytecodes while the 3 bytecodes mentioned are different in the Sista VM. That way it is easier to know what to implement to support the full image without having to implement the whole sista extensions. Decreases by 1 the number of instructions for byte reads on constants. Plugins: Fix several (ancient) issues with the MiscPrimitivePlugin primitives, identified by Levente. Try and make all failures supply an error code. Tidy up FilePlugin error checking and use of symbols for declaring variable types in: - #fileValueOf: - #pointerFrom: - #primitiveConnectToFile - #primitiveConnectToFileDescriptor Restored SerialPlugin's *byName* primitives on non-PharoVM VMs.
- Loading branch information
1 parent
937ea4d
commit 1f0a7da
Showing
80 changed files
with
70,900 additions
and
62,109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.