[pypy-commit] pypy default: We don't need do_write_barrier() any more.
arigo
noreply at buildbot.pypy.org
Mon Sep 9 22:07:51 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r66877:abb1e075eae6
Date: 2013-09-09 21:14 +0200
http://bitbucket.org/pypy/pypy/changeset/abb1e075eae6/
Log: We don't need do_write_barrier() any more.
diff --git a/rpython/jit/backend/llsupport/gc.py b/rpython/jit/backend/llsupport/gc.py
--- a/rpython/jit/backend/llsupport/gc.py
+++ b/rpython/jit/backend/llsupport/gc.py
@@ -64,8 +64,6 @@
return True
def initialize(self):
pass
- def do_write_barrier(self, gcref_struct, gcref_newptr):
- pass
def can_use_nursery_malloc(self, size):
return False
def has_write_barrier_class(self):
@@ -547,17 +545,6 @@
hdr = llmemory.cast_adr_to_ptr(hdr_addr, self.HDRPTR)
hdr.tid = tid
- def do_write_barrier(self, gcref_struct, gcref_newptr):
- hdr_addr = llmemory.cast_ptr_to_adr(gcref_struct)
- hdr_addr -= self.gcheaderbuilder.size_gc_header
- hdr = llmemory.cast_adr_to_ptr(hdr_addr, self.HDRPTR)
- if hdr.tid & self.GCClass.JIT_WB_IF_FLAG:
- # get a pointer to the 'remember_young_pointer' function from
- # the GC, and call it immediately
- llop1 = self.llop1
- funcptr = llop1.get_write_barrier_failing_case(self.WB_FUNCPTR)
- funcptr(llmemory.cast_ptr_to_adr(gcref_struct))
-
def can_use_nursery_malloc(self, size):
return size < self.max_size_of_young_obj
diff --git a/rpython/jit/backend/llsupport/test/test_gc.py b/rpython/jit/backend/llsupport/test/test_gc.py
--- a/rpython/jit/backend/llsupport/test/test_gc.py
+++ b/rpython/jit/backend/llsupport/test/test_gc.py
@@ -175,26 +175,6 @@
repr(basesize), repr(itemsize),
repr(ofs_length), p)]
- def test_do_write_barrier(self):
- gc_ll_descr = self.gc_ll_descr
- R = lltype.GcStruct('R')
- S = lltype.GcStruct('S', ('r', lltype.Ptr(R)))
- s = lltype.malloc(S)
- r = lltype.malloc(R)
- s_hdr = gc_ll_descr.gcheaderbuilder.new_header(s)
- s_gcref = lltype.cast_opaque_ptr(llmemory.GCREF, s)
- r_gcref = lltype.cast_opaque_ptr(llmemory.GCREF, r)
- s_adr = llmemory.cast_ptr_to_adr(s)
- llmemory.cast_ptr_to_adr(r)
- #
- s_hdr.tid &= ~gc_ll_descr.GCClass.JIT_WB_IF_FLAG
- gc_ll_descr.do_write_barrier(s_gcref, r_gcref)
- assert self.llop1.record == [] # not called
- #
- s_hdr.tid |= gc_ll_descr.GCClass.JIT_WB_IF_FLAG
- gc_ll_descr.do_write_barrier(s_gcref, r_gcref)
- assert self.llop1.record == [('barrier', s_adr)]
-
def test_gen_write_barrier(self):
gc_ll_descr = self.gc_ll_descr
llop1 = self.llop1
More information about the pypy-commit
mailing list