lp:~ensoft-opensource/+junk/cpython-boxes-cleanup

Created by Phil Connell and last modified
Get this branch:
bzr branch lp:~ensoft-opensource/+junk/cpython-boxes-cleanup
Members of Ensoft Open Source can upload to this branch. Log in for directions.

Related bugs

Related blueprints

Branch information

Owner:
Ensoft Open Source
Status:
Development

Recent revisions

10. By Phil Connell

Fix interpreter crashes.

Still doesn't look right.

9. By Phil Connell

Revert boxing changes (to track down segfault issues)

8. By Phil Connell

Remove raw ob_refcnt references in object.c

7. By Phil Connell

Remove raw ob_refcnt references in typeobject.c

6. By Phil Connell

Fix build.

Interpreter now segfaults. Whoop.

5. By Phil Connell

Fix sense of the Py_BOX macros (they're all Py_UNBOXED now).

Also a minor refactor in longobject: _PyLong_AsLong_RETURN_UNBOXED
shortcircuits the PyLong_AsLong functions.

4. By Phil Connell

Fix build errors in longobject.c

Things that need to be sorted out:
    - Errors (more Py_TYPE_UPDATE uses needed)
    - Bunch of warnings that need cleaning up
    - Ugly casts all over the place:
        - is uintptr_t the right type for 'unboxed' pointers? (probably)
        - why all the casts between PyLongObject and PyObject?

3. By Phil Connell

Add distinct macros to change an refcounts and types

Previously, Py_REFCNT and PY_TYPE were used both as lvalues and rvalues. To
cope with unboxed types, they need to include a condition (or a
bitwise/arithmetic expression), which can't be used as an lvalue.

So, Py_REFCNF_UPDATE and Py_TYPE_UPDATE are added to be used where the old
macros would have been used as lvalues.

2. By Martin Morrison

Start of unboxed long implementation

1. By Martin Morrison

Initial import of cpython

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.