[pypy-commit] pypy gc-incminimark-pinning-improve: try again to make collect_and_reserve clearer

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76522:ffabb60fdaf5 Date: 2014-12-12 17:12 +0100 http://bitbucket.org/pypy/pypy/changeset/ffabb60fdaf5/ Log:try again to make collect_and_reserve clearer diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc

[pypy-commit] pypy gc-incminimark-pinning-improve: branch to improve current object pinning implementation for incminimark.

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76518:71b312e97a78 Date: 2014-12-11 18:29 +0100 http://bitbucket.org/pypy/pypy/changeset/71b312e97a78/ Log:branch to improve current object pinning implementation for incminimark. __

[pypy-commit] pypy gc-incminimark-pinning-improve: XXX: should try merging old_objects_pointing_to_pinned into old_objects_pointing_to_young

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76520:7bb618bd9e31 Date: 2014-12-11 20:49 +0100 http://bitbucket.org/pypy/pypy/changeset/7bb618bd9e31/ Log:XXX: should try merging old_objects_pointing_to_pinned into old_objects_pointing_to_young diff --git a/

[pypy-commit] pypy gc-incminimark-pinning-improve: added comments to collect_and_reserve

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76519:1fdd47a9602c Date: 2014-12-11 20:43 +0100 http://bitbucket.org/pypy/pypy/changeset/1fdd47a9602c/ Log:added comments to collect_and_reserve diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incmini

[pypy-commit] pypy gc-incminimark-pinning-improve: fix typo

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76521:96b6aa76b5d0 Date: 2014-12-11 20:50 +0100 http://bitbucket.org/pypy/pypy/changeset/96b6aa76b5d0/ Log:fix typo diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/rpython/memory/

[pypy-commit] pypy gc-incminimark-pinning-improve: improve comment a bit more

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76525:2f78e998eec4 Date: 2015-03-23 11:21 +0100 http://bitbucket.org/pypy/pypy/changeset/2f78e998eec4/ Log:improve comment a bit more diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py ---

[pypy-commit] pypy gc-incminimark-pinning-improve: Merge default into gc-incminimark-pinning-improve

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76523:1c5f5f6406cf Date: 2015-03-21 10:41 +0100 http://bitbucket.org/pypy/pypy/changeset/1c5f5f6406cf/ Log:Merge default into gc-incminimark-pinning-improve diff too long, truncating to 2000 out of 67422 lines diff --

[pypy-commit] pypy gc-incminimark-pinning-improve: fix typos

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76526:13651a7e10d4 Date: 2015-03-23 11:31 +0100 http://bitbucket.org/pypy/pypy/changeset/13651a7e10d4/ Log:fix typos diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/rpython/memory

[pypy-commit] pypy gc-incminimark-pinning-improve: fix typo

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76524:01630ad8c431 Date: 2015-03-22 18:36 +0100 http://bitbucket.org/pypy/pypy/changeset/01630ad8c431/ Log:fix typo diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/rpython/memory/

[pypy-commit] pypy gc-incminimark-pinning-improve: use pinning on input buffer in rzlib

2015-03-23 Thread groggi
(rffi.CCHARP.TO, len(data)) as inbuf: -# XXX (groggi) should be possible to improve this with pinning by -# not performing the 'copy_string_to_raw' if non-movable/pinned -copy_string_to_raw(llstr(data), inbuf, 0, len(data)) +with rffi.scoped_nonmovingbuffer(d

[pypy-commit] pypy gc-incminimark-pinning-improve: add environment variable to set the maximum number of pinned objects

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76528:a3b1ea41b1f9 Date: 2015-03-23 15:23 +0100 http://bitbucket.org/pypy/pypy/changeset/a3b1ea41b1f9/ Log:add environment variable to set the maximum number of pinned objects If set to zero no object can be pi

[pypy-commit] pypy gc-incminimark-pinning-improve: use pinning for input buffers in bz2

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76534:a95dcace656d Date: 2015-03-23 16:25 +0100 http://bitbucket.org/pypy/pypy/changeset/a95dcace656d/ Log:use pinning for input buffers in bz2 diff --git a/pypy/module/bz2/interp_bz2.py b/pypy/module/bz2/interp_bz2.py

[pypy-commit] pypy gc-incminimark-pinning-improve: translation fix, should be double checked (all tests pass)

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76533:58d1159cd44c Date: 2015-03-23 16:24 +0100 http://bitbucket.org/pypy/pypy/changeset/58d1159cd44c/ Log:translation fix, should be double checked (all tests pass) diff --git a/rpython/rlib/rzlib.py b/rpython/rlib/rz

[pypy-commit] pypy gc-incminimark-pinning-improve: make variable names a bit more distinct

2015-03-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76532:85a6845a0bde Date: 2015-03-23 16:24 +0100 http://bitbucket.org/pypy/pypy/changeset/85a6845a0bde/ Log:make variable names a bit more distinct diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incmi

[pypy-commit] pypy gc-incminimark-pinning-improve: Merge release-2.5.x into branch

2015-03-27 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76591:db8331fd62ee Date: 2015-03-27 09:54 +0100 http://bitbucket.org/pypy/pypy/changeset/db8331fd62ee/ Log:Merge release-2.5.x into branch diff --git a/pypy/doc/conf.py b/pypy/doc/conf.py --- a/pypy/doc/conf.py +++ b/p

[pypy-commit] pypy gc-incminimark-pinning-improve: indent it like the rest

2015-03-27 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76605:a6e1427c0f98 Date: 2015-03-27 20:34 +0100 http://bitbucket.org/pypy/pypy/changeset/a6e1427c0f98/ Log:indent it like the rest diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/

[pypy-commit] pypy gc-incminimark-pinning-improve: add description for PYPY_GC_MAX_PINNED

2015-03-27 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76604:d4677a1be92e Date: 2015-03-27 20:33 +0100 http://bitbucket.org/pypy/pypy/changeset/d4677a1be92e/ Log:add description for PYPY_GC_MAX_PINNED diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incmin

[pypy-commit] pypy gc-incminimark-pinning-improve: add whatsnew entry for branch

2015-03-27 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76606:061f5b51f7bd Date: 2015-03-27 21:16 +0100 http://bitbucket.org/pypy/pypy/changeset/061f5b51f7bd/ Log:add whatsnew entry for branch diff --git a/pypy/doc/whatsnew-head.rst b/pypy/doc/whatsnew-head.rst --- a/pypy/d

[pypy-commit] pypy gc-incminimark-pinning-improve: Close branch gc-incminimark-pinning-improve.

2015-03-29 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning-improve Changeset: r76622:08b71058baa1 Date: 2015-03-29 15:16 + http://bitbucket.org/pypy/pypy/changeset/08b71058baa1/ Log:Close branch gc-incminimark-pinning-improve. ___ pypy-commit mailin

[pypy-commit] pypy gc-incminimark-pinning: wip: implement use case "old object points to pinned object".

2014-07-26 Thread groggi
.getfakearenaaddress(obj - size_gc_header)) +self.pinned_objects_in_nursery += 1 +# hdr.tid |= GCFLAG_VISITED +debug_print("\tstate:", self.gc_state) # XXX add additional checks for unsupported pinned ob

[pypy-commit] pypy gc-incminimark-pinning: extend and enable test cases for still missing feature

2014-07-26 Thread groggi
d yet", run=False) -def test_pin_referenced_from_stackroot(self): -# XXX most likely somehow connected with `old_objects_pointing_to_young` - # (groggi) +def test_pin_referenced_from_stackroot_young(self): +# +# create both objects and reference the

[pypy-commit] pypy gc-incminimark-pinning: ups. remove test used to play around

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72521:3fca2532c67d Date: 2014-07-02 14:43 +0200 http://bitbucket.org/pypy/pypy/changeset/3fca2532c67d/ Log:ups. remove test used to play around diff --git a/rpython/memory/gc/test/test_object_pinning.py b/rpython/memory/gc/te

[pypy-commit] pypy gc-incminimark-pinning: revert 754f9578ee1aee71b29f8a4ea6b23a60f89be3c3

2014-07-26 Thread groggi
gc_header) -self.write_barrier(parent) -else: -debug_print("-> usual pinned object") -self.surviving_pinned_objects.append( -llarena.getfakearenaaddress(obj - size_gc_header)) -self.pinned_ob

[pypy-commit] pypy gc-incminimark-pinning: modify tests for new pinning implementation

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72523:0bbc22db2b13 Date: 2014-07-13 12:42 +0200 http://bitbucket.org/pypy/pypy/changeset/0bbc22db2b13/ Log:modify tests for new pinning implementation pinned objects will stay inside the nursery as long as a major

[pypy-commit] pypy gc-incminimark-pinning: Backout changeset 754f9578ee1aee71b29f8a4ea6b23a60f89be3c3

2014-07-26 Thread groggi
self.write_barrier(parent) -else: -debug_print("-> usual pinned object") -self.surviving_pinned_objects.append( -llarena.getfakearenaaddress(obj - size_gc_header)) -self.pinned_objects_in_nursery += 1 -

[pypy-commit] pypy gc-incminimark-pinning: generalize previously added test and use it to get two tests

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72525:4aa9c7ae56dd Date: 2014-07-13 13:13 +0200 http://bitbucket.org/pypy/pypy/changeset/4aa9c7ae56dd/ Log:generalize previously added test and use it to get two tests previouse test added in 513744aa7a905300b7389cd1c3

[pypy-commit] pypy gc-incminimark-pinning: generalize tests. tests pinning for minor collections and major ones now

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72529:daf002afa713 Date: 2014-07-13 14:52 +0200 http://bitbucket.org/pypy/pypy/changeset/daf002afa713/ Log:generalize tests. tests pinning for minor collections and major ones now diff --git a/rpython/memory/gc/test/te

[pypy-commit] pypy gc-incminimark-pinning: add test to make sure not referenced pinned objects are collected

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72531:1f3c0f2801cb Date: 2014-07-26 15:48 +0200 http://bitbucket.org/pypy/pypy/changeset/1f3c0f2801cb/ Log:add test to make sure not referenced pinned objects are collected Basically we have an old object pointing to a

[pypy-commit] pypy gc-incminimark-pinning: additional test to cover more cases of referencing a pinned object

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72524:513744aa7a90 Date: 2014-07-13 13:05 +0200 http://bitbucket.org/pypy/pypy/changeset/513744aa7a90/ Log:additional test to cover more cases of referencing a pinned object diff --git a/rpython/memory/gc/test/test_object_pinn

[pypy-commit] pypy gc-incminimark-pinning: shadow tests now tested with minor and full major collections.

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72530:2b62d7537a85 Date: 2014-07-26 15:46 +0200 http://bitbucket.org/pypy/pypy/changeset/2b62d7537a85/ Log:shadow tests now tested with minor and full major collections. diff --git a/rpython/memory/gc/test/test_object_pinning.

[pypy-commit] pypy gc-incminimark-pinning: unnecessary comment removed

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72526:5868377b4b39 Date: 2014-07-13 13:48 +0200 http://bitbucket.org/pypy/pypy/changeset/5868377b4b39/ Log:unnecessary comment removed diff --git a/rpython/memory/gc/test/test_object_pinning.py b/rpython/memory/gc/test/test_o

[pypy-commit] pypy gc-incminimark-pinning: add XXX todo item reminding to add more object pinning related tests

2014-07-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72532:e02894d635ae Date: 2014-07-26 15:49 +0200 http://bitbucket.org/pypy/pypy/changeset/e02894d635ae/ Log:add XXX todo item reminding to add more object pinning related tests diff --git a/rpython/memory/gc/test/test_object_pi

[pypy-commit] pypy gc-incminimark-pinning: (wip) add handling for pinned objects referenced by old ones.

2014-07-26 Thread groggi
pointing_to_pinned.append(parent) +# # XXX add additional checks for unsupported pinned objects (groggi) -# XXX implement unsupported object types with pinning ll_assert(not self.header(obj).tid & GCFLAG_HAS_CARDS, "pinned obje

[pypy-commit] pypy gc-incminimark-pinning: incminimark can be translated now

2014-07-26 Thread groggi
nt) # # XXX add additional checks for unsupported pinned objects (groggi) ___ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit

[pypy-commit] pypy gc-incminimark-pinning: 'NULL' -> 'llmemory.NULL'. Make it consistent. Use explicit version

2014-07-26 Thread groggi
ory/gc/incminimark.py b/rpython/memory/gc/incminimark.py --- a/rpython/memory/gc/incminimark.py +++ b/rpython/memory/gc/incminimark.py @@ -82,7 +82,6 @@ # XXX update doc string to contain object pinning (groggi) WORD = LONG_BIT // 8 -NULL = llmemory.NULL first_gcflag = 1 << (LONG

[pypy-commit] pypy gc-incminimark-pinning: additional tests: old obj points to old obj pointing to pinned one.

2014-07-27 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72552:203c544e7906 Date: 2014-07-27 11:38 +0200 http://bitbucket.org/pypy/pypy/changeset/203c544e7906/ Log:additional tests: old obj points to old obj pointing to pinned one. In addition added some 'assert False' to be

[pypy-commit] pypy gc-incminimark-pinning: old objects that no longer point to a pinned one are removed from the internal list

2014-08-12 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72763:0645fc78c5e0 Date: 2014-08-12 13:16 +0200 http://bitbucket.org/pypy/pypy/changeset/0645fc78c5e0/ Log:old objects that no longer point to a pinned one are removed from the internal list diff --git a/rpython/memory

[pypy-commit] pypy gc-incminimark-pinning: only run assert if no pinned objects are around

2014-08-12 Thread groggi
else: +# XXX try to add some similar check to the above one for the case +# that the nursery still contains some pinned objects (groggi) +pass self.debug_check_consistency() ___ pypy-commit mailing list pypy-c

[pypy-commit] pypy gc-incminimark-pinning: wip: rewriting object pinning tests. they were a mess.

2014-08-12 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72764:d1cb742ced7f Date: 2014-08-12 13:48 +0200 http://bitbucket.org/pypy/pypy/changeset/d1cb742ced7f/ Log:wip: rewriting object pinning tests. they were a mess. This new tests, which are based on the old tests, alread

[pypy-commit] pypy gc-incminimark-pinning: additional object pinning tests. some tests renamed.

2014-08-12 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72765:119a5775c08a Date: 2014-08-12 14:16 +0200 http://bitbucket.org/pypy/pypy/changeset/119a5775c08a/ Log:additional object pinning tests. some tests renamed. diff --git a/rpython/memory/gc/test/test_object_pinning.py b/rpyt

[pypy-commit] pypy gc-incminimark-pinning: as discussed with fijal (irc, 2014-08-13) should be correct.

2014-08-14 Thread groggi
_heap_stats' : LLOp(canmallocgc=True), -'gc_pin' : LLOp(canrun=True), # XXX understand this, correct? (groggi) -'gc_unpin': LLOp(canrun=True), # XXX understand this, correct? (groggi) -'gc__is_pinned' :

[pypy-commit] pypy gc-incminimark-pinning: comments edited

2014-08-14 Thread groggi
ter or are pinned objects typeid = self.get_type_id(obj) -if not self._is_pinned(obj): -# XXX do we need checks if the object is actually pinned? (groggi) -if self.has_gcptr(typeid): -ll_assert(self.header(obj).tid & GCFLAG_TRACK_Y

[pypy-commit] pypy gc-incminimark-pinning: * _is_pinned takes 'pinned_objects' into account.

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72788:28a9b76f8eef Date: 2014-08-13 14:12 +0200 http://bitbucket.org/pypy/pypy/changeset/28a9b76f8eef/ Log:* _is_pinned takes 'pinned_objects' into account. * removed 'we_are_translated' from pin()/unpin() as they are a

[pypy-commit] pypy gc-incminimark-pinning: renamed parameters for consistency

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72789:9a727746d96f Date: 2014-08-13 15:21 +0200 http://bitbucket.org/pypy/pypy/changeset/9a727746d96f/ Log:renamed parameters for consistency diff --git a/rpython/rlib/rgc.py b/rpython/rlib/rgc.py --- a/rpython/rlib/rgc.py +++

[pypy-commit] pypy gc-incminimark-pinning: assert for case that should never happen

2014-08-14 Thread groggi
): -raise NotImplementedError("blub") # XXX handle (groggi) +assert rgc._make_sure_does_not_move(llref) gcrefs_output_list.append(llref) newops.append(op) return newops ___ pypy-commit ma

[pypy-commit] pypy gc-incminimark-pinning: added tests for prebuilt objects and pinning

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72792:d28c2f266a13 Date: 2014-08-13 17:54 +0200 http://bitbucket.org/pypy/pypy/changeset/d28c2f266a13/ Log:added tests for prebuilt objects and pinning diff --git a/rpython/memory/gc/test/test_object_pinning.py b/rpython/memo

[pypy-commit] pypy gc-incminimark-pinning: size of array for movable objects is now as large as it needs to be.

2014-08-14 Thread groggi
=pinned_obj_tracker.ref_array_descr) +newops.append(load_op) +op.setarg(arg_i, result_ptr) +# newops.append(op) return newops @@ -147,18 +159,27 @@ # keep them alive if they end up as constants in the assembler # XXX add comment (groggi

[pypy-commit] pypy gc-incminimark-pinning: initial fix for 'test_old_objects_pointing_to_pinned_not_exploading'

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72809:df44232936bf Date: 2014-08-14 16:42 +0200 http://bitbucket.org/pypy/pypy/changeset/df44232936bf/ Log:initial fix for 'test_old_objects_pointing_to_pinned_not_exploading' diff --git a/rpython/memory/gc/incminimark.py b/rp

[pypy-commit] pypy gc-incminimark-pinning: use one const pointer to point to the array and not each time a new one.

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72811:f7318fcee996 Date: 2014-08-14 17:05 +0200 http://bitbucket.org/pypy/pypy/changeset/f7318fcee996/ Log:use one const pointer to point to the array and not each time a new one. the JIT trace looks nicer this

[pypy-commit] pypy gc-incminimark-pinning: add parent object as argument. forgot it for the partial trace and drag out

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72805:7175f6eeea87 Date: 2014-08-14 16:29 +0200 http://bitbucket.org/pypy/pypy/changeset/7175f6eeea87/ Log:add parent object as argument. forgot it for the partial trace and drag out diff --git a/rpython/memory/gc/incm

[pypy-commit] pypy gc-incminimark-pinning: new GC flag that uses the same bit as GCFLAG_PINNED for parents pointing to pinned objects.

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72810:f2e0b083a76b Date: 2014-08-14 16:51 +0200 http://bitbucket.org/pypy/pypy/changeset/f2e0b083a76b/ Log:new GC flag that uses the same bit as GCFLAG_PINNED for parents pointing to pinned objects. Looks a bit

[pypy-commit] pypy gc-incminimark-pinning: always add parent of a pinned object to the list of old objects pointing to

2014-08-14 Thread groggi
NULL: -self.old_objects_pointing_to_pinned.append(parent) -# # XXX add additional checks for unsupported pinned objects (groggi) ll_assert(not self.header(obj).tid & GCFLAG_HAS_CARDS, "pinned object with GCFLAG_HAS_CARDS

[pypy-commit] pypy gc-incminimark-pinning: new test to check if old_objects_pointing_to_pinned isn't growing while

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72808:79000e7c5466 Date: 2014-08-14 16:39 +0200 http://bitbucket.org/pypy/pypy/changeset/79000e7c5466/ Log:new test to check if old_objects_pointing_to_pinned isn't growing while old object pointing to pinned objects st

[pypy-commit] pypy gc-incminimark-pinning: move old_object_pointing_to_pinned cleanup to the end of the marking phase.

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72807:249e52c74a0c Date: 2014-08-14 16:38 +0200 http://bitbucket.org/pypy/pypy/changeset/249e52c74a0c/ Log:move old_object_pointing_to_pinned cleanup to the end of the marking phase. Doing it at the start of th

[pypy-commit] pypy gc-incminimark-pinning: fix code for the case of no pinned objects

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72813:4eed5d00ac19 Date: 2014-08-14 19:04 +0200 http://bitbucket.org/pypy/pypy/changeset/4eed5d00ac19/ Log:fix code for the case of no pinned objects diff --git a/rpython/jit/backend/llsupport/gc.py b/rpython/jit/backend/llsu

[pypy-commit] pypy gc-incminimark-pinning: add first simple JIT test with a pinned object

2014-08-14 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72812:b5b57f12e441 Date: 2014-08-14 19:03 +0200 http://bitbucket.org/pypy/pypy/changeset/b5b57f12e441/ Log:add first simple JIT test with a pinned object diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py b/rpyth

[pypy-commit] pypy gc-incminimark-pinning: JIT test to check if unpinning an objects works

2014-08-15 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72817:a2d0b17c975c Date: 2014-08-15 11:34 +0200 http://bitbucket.org/pypy/pypy/changeset/a2d0b17c975c/ Log:JIT test to check if unpinning an objects works diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py b/rpyt

[pypy-commit] pypy gc-incminimark-pinning: consistency: use check() instead of assert

2014-08-15 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72818:54527e0ff202 Date: 2014-08-15 13:16 +0200 http://bitbucket.org/pypy/pypy/changeset/54527e0ff202/ Log:consistency: use check() instead of assert diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py b/rpython/j

[pypy-commit] pypy gc-incminimark-pinning: renaming, rewriting, etc. for handling movable objects (i.e. ConstPtrs that have a pointer which isn't really constant) inside the JIT

2014-08-16 Thread groggi
ive if they end up as constants in the assembler - -# XXX add comment (groggi) - - newnewops = [] # XXX better name... (groggi) -moving_output_list = {} -known_pointers = [] +# the key is an operation that contains a ConstPtr as an argument and +

[pypy-commit] pypy gc-incminimark-pinning: if the same pointer is used multiple times, only use one array element.

2014-08-16 Thread groggi
if p not in known_pointers: +known_pointers.append(p) # if op.is_guard() or op.getopnum() == rop.FINISH: llref = cast_instance_to_gcref(op.getdescr()) @@ -165,11 +174,13 @@ newnewops = [] # XXX better name... (groggi)

[pypy-commit] pypy gc-incminimark-pinning: create a new AddressStack only if needed

2014-08-18 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72866:e9322b528a2c Date: 2014-08-18 09:54 +0200 http://bitbucket.org/pypy/pypy/changeset/e9322b528a2c/ Log:create a new AddressStack only if needed diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.

[pypy-commit] pypy gc-incminimark-pinning: add test with pinned and not pinned objects

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72902:21551a1f7e19 Date: 2014-08-19 10:40 +0200 http://bitbucket.org/pypy/pypy/changeset/21551a1f7e19/ Log:add test with pinned and not pinned objects diff --git a/rpython/jit/backend/llsupport/test/zrpy_gc_test.py b/rpython/

[pypy-commit] pypy gc-incminimark-pinning: check for array size in tests

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72901:3c4167af9ea2 Date: 2014-08-19 10:15 +0200 http://bitbucket.org/pypy/pypy/changeset/3c4167af9ea2/ Log:check for array size in tests diff --git a/rpython/jit/backend/llsupport/test/test_pinned_object_rewrite.py b/rpython/

[pypy-commit] pypy gc-incminimark-pinning: Merge default into gc-incminimark-pinning

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72900:907a486e6ace Date: 2014-08-18 22:19 +0200 http://bitbucket.org/pypy/pypy/changeset/907a486e6ace/ Log:Merge default into gc-incminimark-pinning gc-incminimark-pinning based on default now, instead of relea

[pypy-commit] pypy gc-incminimark-pinning: failing test: malloc object of type A, pin it, do GC collect and try to malloc object of type B.

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72906:20eefbef7004 Date: 2014-08-19 15:13 +0200 http://bitbucket.org/pypy/pypy/changeset/20eefbef7004/ Log:failing test: malloc object of type A, pin it, do GC collect and try to malloc object of type B. diff --git a/r

[pypy-commit] pypy gc-incminimark-pinning: don't allow objects to be pinned that can contain GC pointers

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72908:e87564c16230 Date: 2014-08-19 16:24 +0200 http://bitbucket.org/pypy/pypy/changeset/e87564c16230/ Log:don't allow objects to be pinned that can contain GC pointers diff --git a/rpython/memory/gc/incminimark.py b/rpython/m

[pypy-commit] pypy gc-incminimark-pinning: fix for tests 'test_malloc_different_types' and 'test_tagged_id'. fijal solved it.

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72907:887cbc99da9b Date: 2014-08-19 16:00 +0200 http://bitbucket.org/pypy/pypy/changeset/887cbc99da9b/ Log:fix for tests 'test_malloc_different_types' and 'test_tagged_id'. fijal solved it. diff --git a/rpython/memory/

[pypy-commit] pypy gc-incminimark-pinning: fix test to use class without gc pointers.

2014-08-19 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72910:ea91bbc58941 Date: 2014-08-19 17:47 +0200 http://bitbucket.org/pypy/pypy/changeset/ea91bbc58941/ Log:fix test to use class without gc pointers. As of changeset e87564c1623075847f63d55586c837db7f188f4c objects

[pypy-commit] pypy gc-incminimark-pinning: remove outdated comments

2014-08-19 Thread groggi
/rpython/rlib/rgc.py @@ -20,7 +20,6 @@ # for test purposes we allow objects to be pinned and use # the following list to keep track of the pinned objects -# XXX think about possible unexpected behavior (groggi) if not we_are_translated(): pinned_objects = [] diff --git a/rpython/rtyper

[pypy-commit] pypy gc-incminimark-pinning: reworked comments in incminimark

2014-08-19 Thread groggi
during major collections. # -# XXX update doc string to contain object pinning (groggi) WORD = LONG_BIT // 8 @@ -132,8 +132,8 @@ # a minor collection. GCFLAG_VISITED_RMY = first_gcflag << 8 -# The following flag is set on nursery objects of which we expect not to -# move. This

[pypy-commit] pypy gc-incminimark-pinning: added test with random pinning, unpinning and adding/removing from stackroots.

2014-08-22 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r72958:9b7d961fbb87 Date: 2014-08-22 12:41 +0200 http://bitbucket.org/pypy/pypy/changeset/9b7d961fbb87/ Log:added test with random pinning, unpinning and adding/removing from stackroots. Fails right now. Succeed

[pypy-commit] pypy gc-incminimark-pinning: rewrite of 'collect_and_reserve'.

2014-08-22 Thread groggi
rve 'totalsize' bytes at the start of the -now-empty nursery. -""" -# be careful: 'nursery_free' may have been changed by the caller. -# 'prev_result' contains the expected address for the new object. +def collect_a

[pypy-commit] pypy gc-incminimark-pinning: tweak odds for unpinning and removing from stack. additionally randomize how many gc steps are done

2014-08-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73011:c4573c1c9d31 Date: 2014-08-23 19:36 +0200 http://bitbucket.org/pypy/pypy/changeset/c4573c1c9d31/ Log:tweak odds for unpinning and removing from stack. additionally randomize how many gc steps are done diff --git

[pypy-commit] pypy gc-incminimark-pinning: use 'raw_malloc_usage' for calculating addresses

2014-08-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73010:09b914913112 Date: 2014-08-22 17:23 +0200 http://bitbucket.org/pypy/pypy/changeset/09b914913112/ Log:use 'raw_malloc_usage' for calculating addresses diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incm

[pypy-commit] pypy gc-incminimark-pinning: add failing test revealing a bug where a pointer in 'objects_to_trace' becomes dead

2014-08-23 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73014:259c0aa0d1f7 Date: 2014-08-23 21:39 +0200 http://bitbucket.org/pypy/pypy/changeset/259c0aa0d1f7/ Log:add failing test revealing a bug where a pointer in 'objects_to_trace' becomes dead diff --git a/rpython/memory

[pypy-commit] pypy gc-incminimark-pinning: (temporary?) fix for 'test_objects_to_trace_bug'. Needs another thought to be sure.

2014-08-23 Thread groggi
.Void, obj) -self.objects_to_trace.append(obj) +if not self._is_pinned(obj): +# XXX: check if this is the right way (groggi). +# A pinned object can be on the stack. Such an object is handled +# by minor collections and shouldn't be specially handled by +

[pypy-commit] pypy gc-incminimark-pinning: Merge default into gc-incminimark-pinning

2014-08-31 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73227:d21434327ff6 Date: 2014-08-31 15:28 +0200 http://bitbucket.org/pypy/pypy/changeset/d21434327ff6/ Log:Merge default into gc-incminimark-pinning diff too long, truncating to 2000 out of 41471 lines diff --git a/LICENSE b/

[pypy-commit] pypy gc-incminimark-pinning: add first simple test for a weakref pointing to a pinned object. Fails right now.

2014-09-01 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73269:de940c201b84 Date: 2014-09-01 15:14 +0200 http://bitbucket.org/pypy/pypy/changeset/de940c201b84/ Log:add first simple test for a weakref pointing to a pinned object. Fails right now. diff --git a/rpython/memory/t

[pypy-commit] pypy gc-incminimark-pinning: don't allow objects with weakrefs to be pinned

2014-09-02 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73280:109d47eb6e54 Date: 2014-09-02 11:38 +0200 http://bitbucket.org/pypy/pypy/changeset/109d47eb6e54/ Log:don't allow objects with weakrefs to be pinned diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incmin

[pypy-commit] pypy gc-incminimark-pinning: update comments in rffi

2014-09-03 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73284:f7d67105c780 Date: 2014-09-03 10:54 +0200 http://bitbucket.org/pypy/pypy/changeset/f7d67105c780/ Log:update comments in rffi diff --git a/rpython/rtyper/lltypesystem/rffi.py b/rpython/rtyper/lltypesystem/rffi.py --- a/r

[pypy-commit] pypy gc-incminimark-pinning: solve "black->white" pointer problem for pinned objects

2014-09-05 Thread groggi
dont-care +elif self._is_pinned(obj): +# black -> pinned: the pinned object is a white one as +# every minor collection visits them and takes care of +# visiting pinned objects. +# XXX (groggi) double check with fijal/armin +

[pypy-commit] pypy gc-incminimark-pinning: add XXX for weakref pointing to pinned object support

2014-09-05 Thread groggi
/gc/incminimark.py --- a/rpython/memory/gc/incminimark.py +++ b/rpython/memory/gc/incminimark.py @@ -2578,6 +2578,9 @@ # -- # Weakrefs +# XXX (groggi): weakref pointing to pinned object not supported. +# XXX (groggi): missing asserts/checks for the missing feature

[pypy-commit] pypy gc-incminimark-pinning: add XXX with possible solution for a nursery with too many pinned objects

2014-09-05 Thread groggi
: +# XXX (groggi) possible solutions: +# - gc-incminimark-pinning-arealimit branch (pretty simple, downsides in regard what can be pinned) +# - do raw_malloc (probably best idea, but also quit some code changes needed) +# - make in some way

[pypy-commit] pypy gc-incminimark-pinning: Merge heads

2014-09-05 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73318:19a470acba00 Date: 2014-09-05 11:37 +0200 http://bitbucket.org/pypy/pypy/changeset/19a470acba00/ Log:Merge heads diff --git a/rpython/rtyper/lltypesystem/rffi.py b/rpython/rtyper/lltypesystem/rffi.py --- a/rpython/rtype

[pypy-commit] pypy gc-incminimark-pinning: add comment (XXX) for possible improvement of rzlib by using pinning

2014-09-08 Thread groggi
/rzlib.py --- a/rpython/rlib/rzlib.py +++ b/rpython/rlib/rzlib.py @@ -346,6 +346,8 @@ """ # Prepare the input buffer for the stream with lltype.scoped_alloc(rffi.CCHARP.TO, len(data)) as inbuf: + # XXX (groggi) should be possible to improve this with pinning by

[pypy-commit] pypy gc-incminimark-pinning: ups, reapply change to rfile from d6c6003d1ae93df5b54e50229989ced778502694

2014-09-08 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73374:ba0833e510ae Date: 2014-09-08 12:38 +0200 http://bitbucket.org/pypy/pypy/changeset/ba0833e510ae/ Log:ups, reapply change to rfile from d6c6003d1ae93df5b54e50229989ced778502694 diff --git a/rpython/rlib/rfile.py b

[pypy-commit] pypy gc-incminimark-pinning: Merge default into gc-incminimark-pinning

2014-09-21 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73626:1bc63cf2b16c Date: 2014-09-21 10:08 +0200 http://bitbucket.org/pypy/pypy/changeset/1bc63cf2b16c/ Log:Merge default into gc-incminimark-pinning diff --git a/lib_pypy/_curses.py b/lib_pypy/_curses.py --- a/lib_pypy/_curses

[pypy-commit] pypy gc-incminimark-pinning: Merge default into gc-incminimark-pinning

2014-09-21 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73625:55c211d937b2 Date: 2014-09-21 10:08 +0200 http://bitbucket.org/pypy/pypy/changeset/55c211d937b2/ Log:Merge default into gc-incminimark-pinning diff too long, truncating to 2000 out of 5185 lines diff --git a/_pytest/REA

[pypy-commit] pypy gc-incminimark-pinning: added XXX: incminimark may zero out much more of the nursery than intended

2014-09-26 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r73723:88df0344d983 Date: 2014-09-26 15:07 +0200 http://bitbucket.org/pypy/pypy/changeset/88df0344d983/ Log:added XXX: incminimark may zero out much more of the nursery than intended diff --git a/rpython/memory/gc/incmi

[pypy-commit] pypy gc-incminimark-pinning: Merge default into gc-incminimark-pinning.

2014-10-18 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r74012:a541092c6e2f Date: 2014-10-18 19:24 +0200 http://bitbucket.org/pypy/pypy/changeset/a541092c6e2f/ Log:Merge default into gc-incminimark-pinning. This is a first step merging the current incminimark (without zero

[pypy-commit] pypy gc-incminimark-pinning: passing gc/test/test_object_pinning tests, except skipped ones

2014-10-18 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r74013:fc3eef4065bc Date: 2014-10-18 19:34 +0200 http://bitbucket.org/pypy/pypy/changeset/fc3eef4065bc/ Log:passing gc/test/test_object_pinning tests, except skipped ones diff --git a/rpython/memory/gc/incminimark.py b/rpython/

[pypy-commit] pypy gc-incminimark-pinning: passing all object pinning specific GC tests again

2014-10-18 Thread groggi
Author: Gregor Wegberg Branch: gc-incminimark-pinning Changeset: r74014:26934ad677e7 Date: 2014-10-18 19:46 +0200 http://bitbucket.org/pypy/pypy/changeset/26934ad677e7/ Log:passing all object pinning specific GC tests again diff --git a/rpython/memory/gc/test/test_object_pinning.py b/rpytho

[pypy-commit] pypy latest-improve-doc: changed pylib URL

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70351:955089a2cc1e Date: 2014-03-31 14:05 +0200 http://bitbucket.org/pypy/pypy/changeset/955089a2cc1e/ Log:changed pylib URL Apperently http://pylib.org has no pylib information since july 2012 (web.archive.org cra

[pypy-commit] pypy latest-improve-doc: fixed EU-report link in extradoc documentation

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70352:4b59ff9762a5 Date: 2014-03-31 14:23 +0200 http://bitbucket.org/pypy/pypy/changeset/4b59ff9762a5/ Log:fixed EU-report link in extradoc documentation diff --git a/pypy/doc/extradoc.rst b/pypy/doc/extradoc.rst --- a/pypy/doc/ex

[pypy-commit] pypy latest-improve-doc: fixed wrong URL to irc logs

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70350:ce2c23ba487a Date: 2014-03-30 14:58 +0200 http://bitbucket.org/pypy/pypy/changeset/ce2c23ba487a/ Log:fixed wrong URL to irc logs diff --git a/pypy/doc/index.rst b/pypy/doc/index.rst --- a/pypy/doc/index.rst +++ b/pypy/doc/in

[pypy-commit] pypy latest-improve-doc: fixed old codespeak.net links to point into extradoc repository

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70354:11dcb94c33dd Date: 2014-03-31 14:41 +0200 http://bitbucket.org/pypy/pypy/changeset/11dcb94c33dd/ Log:fixed old codespeak.net links to point into extradoc repository forgot to check the ones that point to a HTML page,

[pypy-commit] pypy latest-improve-doc: fixed URLs bytebucket.org -> bitbucket.org

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70355:0c7bd18f76da Date: 2014-03-31 15:09 +0200 http://bitbucket.org/pypy/pypy/changeset/0c7bd18f76da/ Log:fixed URLs bytebucket.org -> bitbucket.org bytebucket.org redirects to bitbucket.org. Interestingly enough

[pypy-commit] pypy latest-improve-doc: fixed old codespeak.net links to point into extradoc repository

2014-03-31 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70353:461d138c2a12 Date: 2014-03-31 14:29 +0200 http://bitbucket.org/pypy/pypy/changeset/461d138c2a12/ Log:fixed old codespeak.net links to point into extradoc repository diff --git a/pypy/doc/extradoc.rst b/pypy/doc/extradoc.rst

[pypy-commit] pypy latest-improve-doc: removed non-existing documents

2014-04-05 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70445:4cd8d387ead0 Date: 2014-04-03 09:52 +0200 http://bitbucket.org/pypy/pypy/changeset/4cd8d387ead0/ Log:removed non-existing documents - dot-net.rst: removed in 429434b97ea511f8a43dcad4f2e1b170cb7d1153 - discuss

[pypy-commit] pypy latest-improve-doc: more broken URLs fixed in docs.

2014-04-05 Thread groggi
Author: Gregor Wegberg Branch: latest-improve-doc Changeset: r70450:7e38344a56f1 Date: 2014-04-03 11:01 +0200 http://bitbucket.org/pypy/pypy/changeset/7e38344a56f1/ Log:more broken URLs fixed in docs. diff --git a/pypy/doc/objspace-proxies.rst b/pypy/doc/objspace-proxies.rst --- a/pypy/doc/o

  1   2   >