View source
jitframe-on-heap
  • Contributors
    1. Loading...
Author Commit Message Date Builds
6 commits behind default.
Maciej Fijalkowski
no JMP_i, fine
Maciej Fijalkowski
oops
Maciej Fijalkowski
merge default
Maciej Fijalkowski
ARM support, IN-PROGRESS (not working)
Maciej Fijalkowski
fix?
Maciej Fijalkowski
fix
Maciej Fijalkowski
unskip those tests
Maciej Fijalkowski
fix (I should refactor it actually)
Maciej Fijalkowski
maybe it's not such a bad idea to just waste a word and have simplified logic
Maciej Fijalkowski
fix import
David Schneider
fix for call_assembler with floats. The offset calculation for the arguments to call_assembler in rewrite.py assumes a double-word aligned JITFRAME
David Schneider
refactor load, store and move helper methods. Use imm offsets for VLDR and VSTR if possible
Maciej Fijalkowski
disable the debug to have less assembler to read
Maciej Fijalkowski
disable debug when we're translated
Maciej Fijalkowski
cleanup
Maciej Fijalkowski
merge
Maciej Fijalkowski
make viewcode here support ARM
David Schneider
another fix
David Schneider
fix
David Schneider
mostly finish call_assembler for ARM. Floating point results are still wrong.
Maciej Fijalkowski
clean up
David Schneider
move shared initialization of the assembler classes to llsupport
Maciej Fijalkowski
merge
Maciej Fijalkowski
more work
Maciej Fijalkowski
work on call_assembler up to the point at least
David Schneider
move x86/test/test_gc_integration.py -> llsupport/test/test_gc_integration.py
David Schneider
update backend specific code in x86/test_gc_integration.py
David Schneider
move x86/test_regalloc.py -> llsupport/test_regalloc_integration.py
David Schneider
add helper method to create RegAlloc instances in tests
David Schneider
remove unused code and update x86 backend specific pieces in test_regalloc
David Schneider
rename _{arm,x86}_loop_code variable to _ll_loop_code
Maciej Fijalkowski
Backed out changeset 1dd0aa6c631a
David Schneider
start fixing call_assembler for ARM floats do not work correctly yet
Maciej Fijalkowski
don't call it 'emit_guard'
Maciej Fijalkowski
fix call_release_gil
Maciej Fijalkowski
remove another copy of an identical function
Maciej Fijalkowski
oops
Maciej Fijalkowski
provide is_float on arm locations
Maciej Fijalkowski
fix?
Maciej Fijalkowski
We only store 11 registers
Maciej Fijalkowski
we don't use all the other regs
Maciej Fijalkowski
and another bites the dust
Maciej Fijalkowski
kill more duplication
Maciej Fijalkowski
fix fix fix
Maciej Fijalkowski
this field does not go on parent
Maciej Fijalkowski
Kill two copies of the same code for make_execute_token
Maciej Fijalkowski
move two copies of slightly different code into one place
Maciej Fijalkowski
skip those tests for now
Maciej Fijalkowski
small fixes
Maciej Fijalkowski
floats come at even places, always
Maciej Fijalkowski
test_gc for 32bit
Maciej Fijalkowski
fix this test
Maciej Fijalkowski
a historical commit - start sharing code between arm and x86
Maciej Fijalkowski
finish fixing this test
Maciej Fijalkowski
oops
Maciej Fijalkowski
rewrite this test
Maciej Fijalkowski
missing import
Maciej Fijalkowski
er, I'm a moron
Maciej Fijalkowski
fix the last gc_integration test
Maciej Fijalkowski
We now keep the frame in ebp, easy
Maciej Fijalkowski
fix those tests
Maciej Fijalkowski
more 32bit fixes
Maciej Fijalkowski
fixes for gc_integration
Maciej Fijalkowski
Kill another copy of the same (broken) logic
Maciej Fijalkowski
merge
Maciej Fijalkowski
fix test_regalloc
Armin Rigo
merge heads
Armin Rigo
Tweak _getregkey(). The essential part is that for StackLocs it should return the ebp_offset, so that jump.py detects (on 32-bit) that some position is partially overlapping with a float because _getregkey() returned the previous value + WORD.
Maciej Fijalkowski
remove "simple" logic duplication that was not quite correct
Maciej Fijalkowski
fix the xxx
Maciej Fijalkowski
fix the test
Maciej Fijalkowski
fixes
Maciej Fijalkowski
the famous never passing test
Maciej Fijalkowski
a set of oops and typos
Maciej Fijalkowski
more 32bit fixes
Maciej Fijalkowski
32bit fixes
Maciej Fijalkowski
some wb fixes for 32bit
Maciej Fijalkowski
Make sure we allocate floats at even places (and the comments are true)
Maciej Fijalkowski
fix here too
Maciej Fijalkowski
fix failure generation
Maciej Fijalkowski
turns out floats are 2-words wide on 32bit
Maciej Fijalkowski
some call fixes, comment out STDCALL (is it ever used?)
Maciej Fijalkowski
finish fix
Maciej Fijalkowski
push for _check_frame_depth
Maciej Fijalkowski
merge
Maciej Fijalkowski
32bit fix
David Schneider
keep stack aligned
David Schneider
this slot on the stack is not needed anymore
David Schneider
force
David Schneider
kill code
David Schneider
move force method to llsupport
David Schneider
merge
David Schneider
fixes for bridges and jitframe relocation
David Schneider
disable code
David Schneider
more unused code
David Schneider
kill check, does not make sense any more
David Schneider
fix
Maciej Fijalkowski
merge default
David Schneider
merge heads
David Schneider
getarraydescr_for_frame now only returns a descr and not a tuple of index and descr. (fixes translation too)
Maciej Fijalkowski
merge
Maciej Fijalkowski
merge default
David Schneider
add jitframe checks
David Schneider
fp register now points to the start of the JITFRAME
David Schneider
load store helper methods
David Schneider
start moving gcmap code to llsupport
David Schneider
move code to llmodel
Maciej Fijalkowski
one more rpython fix
Maciej Fijalkowski
fix RPython
Maciej Fijalkowski
fix this test
Maciej Fijalkowski
fix
Maciej Fijalkowski
one fix
Maciej Fijalkowski
fix the assertion
Maciej Fijalkowski
remove specialcases
Maciej Fijalkowski
fix the test
Maciej Fijalkowski
32bit alignment fixes
Maciej Fijalkowski
2.6 compat
Maciej Fijalkowski
more fixes
Maciej Fijalkowski
Start moving frame to ebp (instead of ebp + 0x40)
Maciej Fijalkowski
Fix the comments and some basics for 32bit support
Maciej Fijalkowski
Try to fix the problem with redirect_call_assembler
Maciej Fijalkowski
merge incremental-nursery-cleanup
Maciej Fijalkowski
merge default
Maciej Fijalkowski
fixes for set_extra_threshold and env handline
Maciej Fijalkowski
a seriou soops
Maciej Fijalkowski
oops
Maciej Fijalkowski
merge
Maciej Fijalkowski
remove this hack
Maciej Fijalkowski
runner tests fixes
Armin Rigo
Fix comments
Maciej Fijalkowski
(arigo, fijal) Fight a bit with realloc_frame. We should put stuff back on top of shadowstack if we choose to reallocate frame
Armin Rigo
Unconfuse myself properly. The previous checkin failed at doing so. :-)
Maciej Fijalkowski
rename the variable to confuse armin less
Maciej Fijalkowski
we only ever allocate the jitframe before assembler, move gc_assume_young_pointers to malloc itself.
Maciej Fijalkowski
memcpy called like that cannot collect (and does not free the GIL either)
Maciej Fijalkowski
merge
Maciej Fijalkowski
a test and some debug prints
David Schneider
merge
David Schneider
bridges start to work again
David Schneider
support for floats in failargs
Maciej Fijalkowski
merge
Maciej Fijalkowski
some basic sanity check that seem to fail
Maciej Fijalkowski
this is nonsense
David Schneider
merge upstream
David Schneider
test_float_operations passes
Maciej Fijalkowski
oops. a fresh frame *may* contain young pointers. a few debug checks extra
Maciej Fijalkowski
shuffle those tests around
Maciej Fijalkowski
done
Maciej Fijalkowski
fix single floats
Maciej Fijalkowski
work on stack check
Maciej Fijalkowski
oops not a great idea
Maciej Fijalkowski
merge
Maciej Fijalkowski
some ugly checks
David Schneider
pfff
David Schneider
update tests
Maciej Fijalkowski
clean nursery in stages
David Schneider
port most of the latest changes to arm, regarding among other things gcmap initialization
David Schneider
change addressing of values now stored in the jitframe
Maciej Fijalkowski
meh
Maciej Fijalkowski
more lack of support
Maciej Fijalkowski
merge
Maciej Fijalkowski
happily ignore the immortal parameter
David Schneider
merge heads
David Schneider
support for new guards handling
David Schneider
remove deprecated code
David Schneider
fix import
Maciej Fijalkowski
fix this test
Maciej Fijalkowski
* check the frame depth before jump * initialize the gcmap correctly
Maciej Fijalkowski
raw-allocate gcmap
Maciej Fijalkowski
update rewrite
Maciej Fijalkowski
make gcmap and frame_info raw-allocated structures
Maciej Fijalkowski
enfore the args here
Maciej Fijalkowski
make sure we don't annotate unpack_arraydescr too early. RPython is weird like that
Maciej Fijalkowski
kill the hack to update frame_info and instead make it official to have size as an argument to realloc frame
Armin Rigo
Future-proofing code.
Armin Rigo
merge heads
Armin Rigo
Comment
Maciej Fijalkowski
enable continuation module
Maciej Fijalkowski
merge
Maciej Fijalkowski
kill jit2gc['root_iterator']
David Schneider
merge upstream
David Schneider
in progress, first test passes. Changes a bit everywhere to support the jitframe
David Schneider
skip test if floats are not supported on cpu
David Schneider
move methods to llsupport
David Schneider
fix import
David Schneider
move helper functions to arm/support.py
Maciej Fijalkowski
enable JIT for stackless
Maciej Fijalkowski
argh, the same problem again
Maciej Fijalkowski
fix never-executed-so-far path
Maciej Fijalkowski
Make sure we call make_done_loop_tokens only once
Maciej Fijalkowski
some extra security
Maciej Fijalkowski
this is respectively uninteresting and done
Maciej Fijalkowski
merge
Maciej Fijalkowski
actually just kill this misleading var
Maciej Fijalkowski
UH, that's what I get for naming variables wrongly
Maciej Fijalkowski
ll2ctypes drives me nuts
Maciej Fijalkowski
give up even more
Maciej Fijalkowski
give up
Maciej Fijalkowski
infinite loops aren't cool
Maciej Fijalkowski
an attempt to have a call assembler somewhere in zrpy_gc tests
Maciej Fijalkowski
implement rewriting of frame malloc
Maciej Fijalkowski
merge
Maciej Fijalkowski
implement malloc_cond_varsize_small for the JIT, not used so far
Maciej Fijalkowski
fix the test
Armin Rigo
Change the vable_token and virtual_token fields to be GC references to the live frame.
Maciej Fijalkowski
fix
Maciej Fijalkowski
put force_token into a normal register, so it's no longer tied to a strange ebp location. That removes quite a bit of hacks.
Maciej Fijalkowski
fix
Maciej Fijalkowski
merge default
Maciej Fijalkowski
merge default
Maciej Fijalkowski
small fixes
Maciej Fijalkowski
armin spotting off comments
Maciej Fijalkowski
comment fix
Maciej Fijalkowski
leave some comments
Maciej Fijalkowski
remove pdb, it was not supposed to go in
Maciej Fijalkowski
ugh, how is this part getting annotated?
Maciej Fijalkowski
if the gcmap is 0, just don't trace it. Also 0 it in finish
Maciej Fijalkowski
apparently is_shadow_stack is not constant folded away
Maciej Fijalkowski
Fix those tests. With more dilligence it will be spotted earlier, but *before* malloc we don't store in gcmap the result of the malloc (it would be confusing)
Maciej Fijalkowski
remove dead code
Maciej Fijalkowski
(arigo, fijal) test and fix
Maciej Fijalkowski
this is done
Maciej Fijalkowski
finish the test and fix the code
Maciej Fijalkowski
write a failing test and remove tests that don't test anything (especially not what they advertise to test)
Maciej Fijalkowski
fix pypyjit module
Maciej Fijalkowski
update the TODO
Maciej Fijalkowski
merge default
Maciej Fijalkowski
use the default enable_opts here
Maciej Fijalkowski
er
Maciej Fijalkowski
oops that might not fit in 32bit
Maciej Fijalkowski
reshuffle tests to make them run faster and more in parallel
Maciej Fijalkowski
Remove redundant-by-now test
Maciej Fijalkowski
tests and fixes
Maciej Fijalkowski
Fix until the write barrier on frame is called correctly
Maciej Fijalkowski
make this test briefly pass
Maciej Fijalkowski
fixes
Maciej Fijalkowski
some fixes
Maciej Fijalkowski
a fix and a failing test
Maciej Fijalkowski
frame can definitely contain young pointers
Maciej Fijalkowski
remove some hacks
Maciej Fijalkowski
enough work to avoid an assert
Maciej Fijalkowski
some real fixes and some rpython fixes
Maciej Fijalkowski
a bit undertested write barrier for frames
Maciej Fijalkowski
Zero the gcmap after reloading the frame
Maciej Fijalkowski
finish the test and make it pass
Maciej Fijalkowski
continue writing test until we hit a bug. some stuff still does not work though
Maciej Fijalkowski
RPythonization
Maciej Fijalkowski
one extra mov for a bit
Maciej Fijalkowski
disable those debug prints
Maciej Fijalkowski
oops
159 commits not shown.