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-nice.1933
Fix incorrect type inferencing for asUnsignedLongLong which causes a bug in the v3 format VM in fetchLong64:ofObject:. This breaks large integer arithmetic. In this case, type inferencing is used for correct unsigned casting before left shifting. TODO: verify that all selectors translated via initializeCTranslationDictionary have correct type inferencing in returnTypeForSend:in:ifNil: Sista: The jumpIfNotInstanceOfOrPop bytecode was interesting but hard to tackle in many places, leading to hard to write assertion in the JIT. It has been changed so that it now always consumes the top of the stack, jumping if the top of the stack is not an instance of one of the class specified in the literal. This way that bytecode can also be used easily to optimize PICs. Fixed machine code generation of UByteNumBytes
- Loading branch information
1 parent
f39cb11
commit 456992c
Showing
51 changed files
with
452 additions
and
450 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
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
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
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
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.