1. Pypy
  2. Untitled project
  3. pypy

Branches

32ptr-on-64bit

View source
32ptr-on-64bit
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind default.
Armin Rigo
fix.
Armin Rigo
This part of the code lost during the merge belongs to rewrite.py. Save it there for now, commented out.
Armin Rigo
hg merge default
Armin Rigo
hg merge default
Armin Rigo
hg merge default
Armin Rigo
Simplify the logic and remove ExtraAttributes. The number 8 has been tweaked as giving the slowest possible memory usage on "pypy translate.py".
Armin Rigo
hg merge default
Armin Rigo
Add a "raise AssertionError" for unknown cases.
Armin Rigo
Duh.
Armin Rigo
Cannot use edx here, it may be used to pass arguments!
Armin Rigo
Must round the size up, otherwise we are getting unaligned nursery pointers.
Armin Rigo
Fix test.
Armin Rigo
Bah :-(
Armin Rigo
Fix imports.
Armin Rigo
Unify a bit various helpers.
Armin Rigo
merge heads
Armin Rigo
merge heads
Armin Rigo
Test the call handling too.
Armin Rigo
Passing tests for rewrite_assembler.
Armin Rigo
merge heads
Armin Rigo
merge heads
Armin Rigo
Test and fix.
Armin Rigo
merge heads
Armin Rigo
Test and fix.
Armin Rigo
CPython 2.5 compatibility.
Armin Rigo
Add support for 'H' in pyjitpl too.
Armin Rigo
Skip some not-written-yet tests, and a hard-to-test fix...
Armin Rigo
Implement support for HIDE_INTO_PTR32 and SHOW_FROM_PTR32. Easy.
Armin Rigo
Add comments.
Armin Rigo
hg merge default
Armin Rigo
Fix, mostly for tests: let c_mmap_safe() be a no-gc operation.
Armin Rigo
Fix: cannot use "x == NULL" for all pointers x, because of HiddenGcRef32. Use instead "!x".
Armin Rigo
Test and fix: if g is a low-level function pointer, then g(*args) might mess up the exact type of the args if the tuple stores them differently. This is a bit non-obvious to test, and is only apparent in HiddenGcRef32.
Armin Rigo
Finish call descrs.
Armin Rigo
Support for ll_str().
Armin Rigo
In-progress: calls with HiddenGcRef32s as arguments or result.
Armin Rigo
In-progress: add HIDE_INTO_PTR32 and SHOW_FROM_PTR32 as explicit operations, inserted by llsupport.gc.
Armin Rigo
Fix. Actually the other encoding is not really wrong, but just non-standard.
Armin Rigo
Phew. More and more cases, until the test half-passes.
Armin Rigo
Add a test file, and so minor fixes until it runs (and fails).
Armin Rigo
cpu.bh_setarrayitem_gc_r.
Armin Rigo
cpu.bh_getarrayitem_gc_r.
Armin Rigo
cpu.bh_setfield_gc_r.
Armin Rigo
This test now passes. Phew.
Armin Rigo
Work in progress: support HiddenGcRef32 in some of the Descrs, hopefully enough of them.
Armin Rigo
More tests, and introduce _llgcopaque32.
Armin Rigo
Start supporting HiddenGcRef32 in ll2ctypes. (urgh)
Armin Rigo
Support GcArray(HiddenGcRef32).
Armin Rigo
Support for descrs of fields of type HiddenGcRef32.
Armin Rigo
Found out the issue -- cast_opaque_ptr() happily converts between HiddenGcRef32 and GCREFs. To have a bit more control, forbid this and use explicit conversions.
Armin Rigo
Start support on the JIT. Either I messed something up or it works so far out of the box with the untranslated llgraph backend.
Armin Rigo
hg merge default
Armin Rigo
hg merge default
Armin Rigo
hg merge default
Armin Rigo
Fix test_mapdict.
Armin Rigo
merge default. Untested.
Armin Rigo
Merge default.
Armin Rigo
Write a test.
Armin Rigo
Fix.
Armin Rigo
This test used to pass probably by chance only. There is no way that a global list can grow during one call to self.interpret(), and then continue to be usable from there during an unrelated call to self.interpret().
Armin Rigo
Initially clearing the nursery: this was lost during the merge.
Armin Rigo
Fix.
Armin Rigo
Add "immortal=True" here.
Armin Rigo
Merge default into this branch. There are some test failures still.
Armin Rigo
Perform a dummy merge to update mercurial's view of this branch, corresponding to the real merge that was done in a874ba0b58e5 with svn.
Armin Rigo
Change the value of DEBUGFLAGS in non-asmgcc builds to remove -O1. This is fine with the extra stack that we get by the recent change to c/src/stack.h.
Armin Rigo
Merge r77941 from trunk.
Armin Rigo
When compiling on gcc with -O0, we really need more stack. Thanks antocuni for finding out the proper #ifdefs.
Armin Rigo
Flow graph fix.
Armin Rigo
Revert this part of the change. ObjectMixin is needed by interpreter/typedef.py.
Armin Rigo
Upgrade the previous hack by not using 'rerased' at all in the compressptr case. Instead, point to a small W_Root subclass that itself contains the pointer to the list.
Armin Rigo
Update mapdicts to only use rerased for the last field, which allows all other fields to be compressed.
Armin Rigo
Update the limit to a recently-useful number.
Armin Rigo
Test and fix: GCREF may point to a var-sized object, so it cannot be compressed.
Armin Rigo
Documentation.
Armin Rigo
Fix test.
Armin Rigo
Fix for jit.metainterp.test.test_dict. Reverts the signature of ll_kvi() in rdict.py to what it was, and in case of 'dict.items()', fish for the correct tuple type manually from inside the function.
Armin Rigo
More fixes.
Armin Rigo
Fix.
Armin Rigo
Fix.
Armin Rigo
Enable --compressptr in -Omem translations.
Armin Rigo
Merge trunk up to r77829.
Armin Rigo
Tests and fixes.
Armin Rigo
Test and fix.
Armin Rigo
Tweaks.
Armin Rigo
Merge r77716 from trunk.
Armin Rigo
Add an _annenforcearg_.
Armin Rigo
Add a comment.
Armin Rigo
Progress.
Armin Rigo
Hack goes on.
Armin Rigo
Fix fix fix...
Armin Rigo
Bah.
Armin Rigo
Rename {hide_into,show_from}_adr32 into *_ptr32, which matches the current implementation better.
Armin Rigo
Fix: confusion between addresses and pointers.
Armin Rigo
Fix this test, now that we can (slowly) run test_transformed_gc with the gc flag DEBUG=True.
Armin Rigo
Figured that I don't need "addr.hiddengcref32[0]" after all.
Armin Rigo
Intermediate check-in.
Armin Rigo
Whack whack whack until test_transformed_gc starts to run.
Armin Rigo
Fix test_gc.
Armin Rigo
Still random progress.
Armin Rigo
In-progress: make HiddenGcRef32 a Ptr(GcOpaque), like GCREF.
Armin Rigo
Check-in before I think about changing the approach.
Armin Rigo
In case of compressptr, complain (crash with FixedSizeObjectTooLarge) if allocating a fixed-size object that is too large to fit in the ArenaCollection. The default limit should probably be increased quite a bit.
Armin Rigo
Finish the basic version. test_newgc starts to pass.
Armin Rigo
Random progress.
Armin Rigo
In-progress.
Armin Rigo
A branch in which I play around with the idea of compressing 64-bit pointers into 32-bit integers. The "compression" is simply taking the pointer value and shifting it 3 bits, so it is limited to a 32GB heap.