Commits

Author Commit Message Labels Comments Date
Lars Wassermann
fixed a problem with nonlockal returns due to the new context-handling moved the tests around, because for an unknown reason, they will not work in the other order... factored out MethodContextShadow>>is_closure_context added some printing help refactored kronos tracing code (Interpreter>>loop)
Lars Wassermann
(tfel, lwassermann): added someInstance and nextInstance primitives iterating over all instances works in test_bootstrappedimage>>#test_create_new_symbol
Lars Wassermann
added two more bootstrappedimage tests, one of which will not work until #allInstancesDo: works
Lars Wassermann
fixed #asSymbol asSymbol test fixed perform method to inquire whether the method to perform is primitive
Lars Wassermann
added STRING_REPLACE primitive(105) and test
Lars Wassermann
changed the two VALUE-bytecodes to call the correct primitive, according to their receiver class
Lars Wassermann
added printing to MethodContextShadow, printing the method with pc-arrow and the stack.
Lars Wassermann
changed the print format of compiled method to include methodname, hex-bytecodes and moved the bytecode number to the front, so that the names are now aligned
Lars Wassermann
added two test cases which fail with the closure-image
Lars Wassermann
changed widow flag value from None to -1, for jit-reasons
Lars Wassermann
changed the sequence of speical objects. now, nil should be first to be matched. If any later special object is also set to nil, nil's w_object will not be overwritten.
Lars Wassermann
added blockclosure bytecode-based tests implemented nonlocal return for blockclosures
Carl Friedrich Bolz
make targetimageloadingsmalltalk work again, and make it possible to run other methods on int
Carl Friedrich Bolz
make .lookup return a CompiledMethodShadow directly
Carl Friedrich Bolz
be more efficient, this is used all the time
Carl Friedrich Bolz
huge refactoring: remove the storage of the current frame on the interpreter. instead, just hand it around as an argument/result everywhere. this is a bit annoying in places, but makes the generated JIT code much better. - the bytecode implementations now return the new frame, if they set one up - the primitives now get and return a frame
Carl Friedrich Bolz
change AbstractCachingShadow to simply create a new shadow instead of updating the old one. This makes it possible to make these shadows immutable.
Carl Friedrich Bolz
don't JIT asSymbol
Carl Friedrich Bolz
don't store the current bytecode on the frame anymore
Carl Friedrich Bolz
don't need two loops
Carl Friedrich Bolz
merge
Carl Friedrich Bolz
move some of the infrastructure to run simple performs from rpython to interpreter.py
Carl Friedrich Bolz
move logic to the image reader
Carl Friedrich Bolz
(cfbolz, lwassermann around): stop using unwrapped strings as values and just compare them by identity, which Squeak guarantees to be unique. this actually makes the behaviour more correct, because now doing nasty stuff like manually changing the symbol won't break method dicts.
Lars Wassermann
merge
Lars Wassermann
added more tests for block closures
Lars Wassermann
refactored newClosure to RPython different from the squeak-image, newClosure expects an empty list instead of w_nil, if there are no copiedValues
Lars Wassermann
added two tests for block copy primitive and activation of a BlockClosure with value implemented the test
Lars Wassermann
added constants for the different field of MethodClosure patched some mocking methods to use them for block closure testing
Tobias Pape
simplify image header peek logic. rpython does not get literal numbers >64bit, either
  1. Prev
  2. Next