Commits

Author Commit Message Labels Comments Date
Antonio Cuni
rename "JumpFromFlexSwitch" to "NonLocalJump", and rewrite it in a way that should work for all jumps between methods, as it delegates everything to the dispatch block
Branches
oo-jit
Antonio Cuni
at the end I discovered that the clever-but-complicate approach of InputArgs can't work, because its shape can change when new flexswitch cases are generated. Instead, we simply pass an instance which contains arrays of ints, floats and objects, which can grow of course. It's still in progress, as the code right now doesn't support growing and can only handle ints.
Branches
oo-jit
John Witulski
Implemented int_abs (stolen from the other backend ;) )
Branches
oo-jit
John Witulski
Implemented invert
Branches
oo-jit
John Witulski
Added genraisingop2/genraisingop1 to suppoert overflow versions of add and other operations
Branches
oo-jit
Armin Rigo
Remove a strange import. This speeds up some tests because importing i386 causes a lot of work in setting up multimethod tables :-(
Branches
oo-jit
Armin Rigo
A further hack in this function, to allow it to be directly executed.
Branches
oo-jit
Antonio Cuni
good, this test passes now
Branches
oo-jit
Antonio Cuni
when you are in a FlexCaseMethod and want to jump to an unknown block, just delegate the jump to the parent, and let the MainMethod to do it. This simple test pass, but more complex cases are expected to fail
Branches
oo-jit
Antonio Cuni
use unsigned int instead of int to store the blockid
Branches
oo-jit
Antonio Cuni
(IN-PROGRESS) more refactoring; now all the FlexCaseMethods have their own dispatch block. Still need to do the proper transformation from block_id to block_num, and to handle non-local jumps
Branches
oo-jit
Antonio Cuni
(IN-PROGRESS) a bit of refactoring and renaming while thinking how to fully support jumps between methods
Branches
oo-jit
John Witulski
Added is_true and same_as + test (+ litle cleanup)
Branches
oo-jit
John Witulski
*Stack scale calculation is now done in the assebler. *compute moves (mapping of gv from one block to an other) now uses location objects insted of strings *the mapping of gv is now correct(remember locations befor the call and restore them in start_writing
Branches
oo-jit
Armin Rigo
Some tweaks to support pyjitpl. I hope I'm not breaking anything...
Branches
oo-jit
Antonio Cuni
another test failing con cli
Branches
oo-jit
John Witulski
Spilling now used unused Stackpos. The dict used_stack_pos contains all used positions
Branches
oo-jit
Antonio Cuni
implement correct jumps from a flexswitch case to the parent method. More tests pass
Branches
oo-jit
Antonio Cuni
add a test to rgenop that shows a bug of the cli backend
Branches
oo-jit
Antonio Cuni
cool, about half of the promotion tests pass out of the box on cli
Branches
oo-jit
Antonio Cuni
use different hash functions for different ootypes. Add more jit backend tests
Branches
oo-jit
Antonio Cuni
copy pypylib.dll to the dir where the program is executed
Branches
oo-jit
Antonio Cuni
skip this test for now
Branches
oo-jit
John Witulski
Added MOV(Stack, Register) + test to enable Stackreuse
Branches
oo-jit
Antonio Cuni
a failing test and the corresponding fix
Branches
oo-jit
Antonio Cuni
add more tests
Branches
oo-jit
Antonio Cuni
yup, after the fix in args_manager this test passes :-)
Branches
oo-jit
Antonio Cuni
the logic in _get_indexes was completely broken. Fix.
Branches
oo-jit
Antonio Cuni
refactor ArgsManager to make it testable without involving any CLI opereration, and write actual tests for it; one of those fails
Branches
oo-jit
John Witulski
Added spilling features -Registers which contain GenConst are thrown away by spilling -compares use the throw away method -Added a new atribute in Register: throw away. The value inside is not needed anymore, so dont spill it FIXED some spilling bugs. -IMUL Exception: the result is in the other operand, it wont be thrown away -fixed the wrong calc of the stack in move_back_to_register -fixed bug in move_to_registers:append the alocatet registers to the dont_alloc list
Branches
oo-jit
  1. Prev
  2. Next