translator/c/test/test_boehm.py::TestUsingBoehm::()::test__del__
self = <rpython.translator.c.test.test_boehm.TestUsingBoehm object at 0x00000001489d43a0>
def test__del__(self):
class State:
pass
s = State()
class A(object):
def __del__(self):
s.a_dels += 1
class B(A):
def __del__(self):
s.b_dels += 1
class C(A):
pass
def f():
s.a_dels = 0
s.b_dels = 0
A()
B()
C()
A()
B()
C()
llop.gc__collect(lltype.Void)
return s.a_dels * 10 + s.b_dels
> fn = self.getcompiled(f)
translator/c/test/test_boehm.py:82:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
translator/c/test/test_boehm.py:40: in getcompiled
thread=self.use_threads, **extra_options)
translator/c/test/test_genc.py:124: in compile
t.compile_c()
translator/interactive.py:123: in compile_c
self.driver.compile_c()
translator/driver.py:108: in proc
return self.proceed(backend_goal)
translator/driver.py:569: in proceed
result = self._execute(goals, task_skip = self._maybe_skip())
translator/tool/taskengine.py:114: in _execute
res = self._do(goal, taskcallable, *args, **kwds)
translator/driver.py:278: in _do
res = func()
translator/driver.py:435: in task_database_c
database = cbuilder.build_database()
translator/c/genc.py:137: in build_database
self.collect_compilation_info(db)
translator/c/genc.py:147: in collect_compilation_info
self.merge_eci(db.gcpolicy.compilation_info())
translator/c/gc.py:198: in compilation_info
eci = eci.merge(configure_boehm())
rtyper/tool/rffi_platform.py:884: in configure_boehm
symbol='GC_init')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
name = 'gc'
eci = <ExternalCompilationInfo (pre_include_bits=(), includes=('gc/gc.h',), include_...testonly_libraries=(), use_cpp_linker=False, platform=<Darwin_arm64 cc=clang>)>
configurations = [{}], symbol = 'GC_init', _cache = {}
def configure_external_library(name, eci, configurations,
symbol=None, _cache={}):
"""try to find the external library.
On Unix, this simply tests and returns the given eci.
On Windows, various configurations may be tried to compile the
given eci object. These configurations are a list of dicts,
containing:
- prefix: if an absolute path, will prefix each include and
library directories. If a relative path, the external
directory is searched for directories which names start
with the prefix. The last one in alphabetical order
chosen, and becomes the prefix.
- include_dir: prefix + include_dir is added to the include directories
- library_dir: prefix + library_dir is added to the library directories
"""
if sys.platform != 'win32':
configurations = []
key = (name, eci)
try:
return _cache[key]
except KeyError:
last_error = None
# Always try the default configuration
if {} not in configurations:
configurations.append({})
for configuration in configurations:
prefix = configuration.get('prefix', '')
include_dir = configuration.get('include_dir', '')
library_dir = configuration.get('library_dir', '')
if prefix and not os.path.isabs(prefix):
import glob
entries = glob.glob(str(PYPY_EXTERNAL_DIR.join(prefix + '*')))
if entries:
# Get last version
prefix = sorted(entries)[-1]
else:
continue
include_dir = os.path.join(prefix, include_dir)
library_dir = os.path.join(prefix, library_dir)
eci_lib = ExternalCompilationInfo(
include_dirs=include_dir and [include_dir] or [],
library_dirs=library_dir and [library_dir] or [],
)
eci_lib = eci_lib.merge(eci)
# verify that this eci can be compiled
try:
verify_eci(eci_lib)
except CompilationError as e:
last_error = e
else:
_cache[key] = eci_lib
return eci_lib
# Nothing found
if last_error:
> raise last_error
E CompilationError: CompilationError(out="""
E /tmp/buildbot-arm64/usession-main-1489/platcheck_69.c:94:10: fatal error: 'gc/gc.h' file not found
E 94 | #include <gc/gc.h>
E | ^~~~~~~~~
E 1 error generated.
E """)
rtyper/tool/rffi_platform.py:846: CompilationError
---------- Captured stderr call ----------
[flowgraph] (rpython.translator.c.test.test_genc:66)entry_point
[translation:info] Annotating&simplifying...
[translation:info] with policy: rpython.annotator.policy.AnnotatorPolicy
[flowgraph] (rpython.translator.c.test.test_boehm:71)f
[flowgraph] (rpython.translator.c.test.test_boehm:64)A.__del__
[flowgraph] (rpython.translator.c.test.test_boehm:67)B.__del__
[flowgraph] (rpython.flowspace.specialcase:76)rpython_print_item
[flowgraph] (rpython.translator.c.test.test_genc:39)llrepr_out
[flowgraph] (rpython.flowspace.specialcase:95)rpython_print_newline
[flowgraph] (rpython.flowspace.specialcase:85)rpython_print_end
[flowgraph] (rpython.rlib.rposix:500)write
[flowgraph] (rpython.rtyper.lltypesystem.rffi:1448)scoped_nonmovingbuffer.__init__
[flowgraph] (rpython.rtyper.lltypesystem.rffi:1452)scoped_nonmovingbuffer.__enter__
[flowgraph] (rpython.rtyper.lltypesystem.rffi:881)get_nonmovingbuffer_ll
[flowgraph] (rpython.rlib.objectmodel:315)we_are_translated_to_c
[flowgraph] (rpython.rtyper.lltypesystem.rstr:116)copy_string_to_raw
[flowgraph] (rpython.rtyper.lltypesystem.rstr:63)_get_raw_buf
[flowgraph] (rpython.rtyper.lltypesystem.rstr:57)_str_ofs
[flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof
[flowgraph] (rpython.rtyper.lltypesystem.rffi:278)write
[flowgraph] (rpython.rtyper.lltypesystem.rffi:1454)scoped_nonmovingbuffer.__exit__
[flowgraph] (rpython.rtyper.lltypesystem.rffi:945)free_nonmovingbuffer_ll
[flowgraph] (rpython.rtyper.lltypesystem.rffi:3)ccall_write
[flowgraph] (rpython.rlib.rgil:160)release
[flowgraph] (rpython.rlib.rposix:151)_errno_before
[flowgraph] (rpython.rlib.rthread:349)getraw
[flowgraph] (rpython.rlib.rthread:349)getraw
[flowgraph] (rpython.rlib.rposix:170)_errno_after
[flowgraph] (rpython.rlib.rthread:364)setraw
[flowgraph] (rpython.rlib.rthread:364)setraw
[flowgraph] (rpython.rlib.rgil:171)acquire
[flowgraph] (rpython.rlib.rthread:282)gc_thread_run
[flowgraph] (rpython.rlib.rposix:430)handle_posix_error
[flowgraph] (rpython.rlib.rarithmetic:139)widen
[flowgraph] (rpython.rlib.rposix:113)get_saved_errno
[flowgraph] (?:1)memo_offsetof_0
[flowgraph] (?:1)memo_itemoffsetof_0
[flowgraph] (?:1)memo__sizeof_none_0
[flowgraph] (?:1)memo_itemoffsetof_0
[flowgraph] (?:1)memo__isfunctype_0
[flowgraph] (?:1)memo__isfunctype_0
[flowgraph] (?:1)memo__should_widen_type_0
[translation:info] usession directory: /tmp/buildbot-arm64/usession-main-1520
[translation:info] already done: Annotating&simplifying
[translation:info] RTyping...
[flowgraph] (rpython.rtyper.rclass:1170)ll_runtime_type_info
[flowgraph] (rpython.rtyper.rstr:426)ll_str
[flowgraph] (?:1)memo_ll_constant_0
[flowgraph] (rpython.rtyper.lltypesystem.rstr:1293)ll_striter
[flowgraph] (rpython.rtyper.lltypesystem.rstr:1306)ll_strnext
[flowgraph] (rpython.rtyper.rlist:590)ll_append
[flowgraph] (rpython.rtyper.lltypesystem.rlist:365)ll_length
[flowgraph] (rpython.rtyper.lltypesystem.rlist:280)_ll_list_resize_ge
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rlib.jit:1300)conditional_call
[flowgraph] (?:11)_ll_list_resize_hint_really_look_inside_iff
[flowgraph] (rpython.rtyper.lltypesystem.rlist:198)<lambda>
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really
[flowgraph] (rpython.rtyper.lltypesystem.rlist:351)_ll_new_empty_item_array
[flowgraph] (?:2)ll_arraycopy
[flowgraph] (rpython.rlib.rgc:362)ll_arraycopy
[flowgraph] (rpython.rlib.rgc:342)copy_item
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (?:2)_ll_list_resize_hint_really_trampoline
[flowgraph] (rpython.rtyper.lltypesystem.rlist:198)_ll_list_resize_hint_really
[flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast
[flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items
[flowgraph] (?:1)memo__ll_prebuilt_empty_array_0
[flowgraph] (?:1)memo__contains_gcptr_0
[flowgraph] (?:1)memo_itemoffsetof_0
[flowgraph] (rpython.rtyper.rint:149)ll_str
[flowgraph] (rpython.rtyper.lltypesystem.ll_str:13)ll_int2dec
[flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned
[flowgraph] (?:2)mallocstr
[flowgraph] (rpython.rtyper.lltypesystem.rstr:36)mallocstr
[flowgraph] (?:11)ll_join_chars_look_inside_iff
[flowgraph] (rpython.rtyper.lltypesystem.rstr:821)<lambda>
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars
[flowgraph] (rpython.rlib.jit:281)isvirtual
[flowgraph] (?:2)ll_join_chars_trampoline
[flowgraph] (rpython.rtyper.lltypesystem.rstr:820)ll_join_chars
[flowgraph] (?:11)ll_listdelslice_startonly_look_inside_iff
[flowgraph] (rpython.rtyper.rlist:914)<lambda>
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rtyper.rlist:914)ll_listdelslice_startonly
[flowgraph] (rpython.rtyper.rlist:541)ll_null_item
[flowgraph] (rpython.rlib.jit:281)isvirtual
[flowgraph] (rpython.rtyper.lltypesystem.rlist:295)_ll_list_resize_le
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (?:2)ll_listdelslice_startonly_trampoline
[flowgraph] (rpython.rtyper.rlist:914)ll_listdelslice_startonly
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rlib.jit:1300)conditional_call
[flowgraph] (rpython.rtyper.lltypesystem.rstr:350)ll_strlen
[rtyper] specializing: 100 / 322 blocks (31%)
[flowgraph] (?:11)ll_join_strs_look_inside_iff
[flowgraph] (rpython.rtyper.lltypesystem.rstr:785)<lambda>
[flowgraph] (rpython.rlib.jit:294)loop_unrolling_heuristic
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs
[flowgraph] (rpython.rtyper.lltypesystem.llmemory:1037)cast_any_ptr
[flowgraph] (rpython.rtyper.lltypesystem.rstr:78)copy_string_contents
[flowgraph] (rpython.rlib.jit:281)isvirtual
[flowgraph] (?:2)ll_join_strs_trampoline
[flowgraph] (rpython.rtyper.lltypesystem.rstr:783)ll_join_strs
[rtyper] specializing: 200 / 376 blocks (53%)
[flowgraph] (rpython.rtyper.rint:434)ll_uint_py_div
[flowgraph] (rpython.rtyper.rint:525)ll_uint_py_mod
[rtyper] specializing: 300 / 380 blocks (78%)
[rtyper] -=- specialized 380 blocks -=-
[flowgraph] (rpython.rtyper.rclass:1133)ll_issubclass
[flowgraph] (rpython.rtyper.rclass:1130)ll_type
[rtyper] -=- specialized 4 more blocks -=-
[translation:info] usession directory: /tmp/buildbot-arm64/usession-main-1520
[translation:info] already done: Annotating&simplifying
[translation:info] already done: RTyping
[translation:info] lltype back-end optimisations...
[backendopt:removecasts] removed 1 cast_pointers in _get_raw_buf__rpy_string
[backendopt:removecasts] removed 3 cast_pointers in handle_posix_error__write
[backendopt:removecasts] removed 1 cast_pointers in ll_strnext__stringiterPtr
[backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v697___simple_call__function_l
[backendopt:removecasts] removed 1 cast_pointers in copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed
[backendopt:removecasts] removed 1 cast_pointers in ll_join_strs__v700___simple_call__function_l
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] 0.00 _get_raw_buf__rpy_string
[backendopt:inlining] 0.00 isconstant__v675___simple_call__function_i
[backendopt:inlining] 0.00 copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed
[backendopt:inlining] 0.00 cast_any_ptr__Ptr_GcStruct_rpy_stringLlT_rpy_stringPtr
[backendopt:inlining] 0.00 memo_ll_constant_0
[backendopt:inlining] 0.00 isconstant__v696___simple_call__function_i
[backendopt:inlining] 0.00 copy_string_to_raw
[backendopt:inlining] 0.00 __exit____star_3
[backendopt:inlining] 0.00 memo__sizeof_none_0
[backendopt:inlining] 0.00 isvirtual__v698___simple_call__function_i
[backendopt:inlining] 0.00 isconstant__v679___simple_call__function_i
[backendopt:inlining] 0.00 isconstant__v668___simple_call__function_i
[backendopt:inlining] 0.00 isconstant__v673___simple_call__function_i
[backendopt:inlining] 0.00 scoped_nonmovingbuffer.__init__
[backendopt:inlining] 0.00 get_nonmovingbuffer_ll
[backendopt:inlining] 0.00 isconstant__v669___simple_call__function_i
[backendopt:inlining] 0.00 isvirtual__v681___simple_call__function_i
[backendopt:inlining] 0.00 conditional_call__v670___simple_call__function_c_star_3
[backendopt:inlining] 0.00 gc_thread_run
[backendopt:inlining] 0.00 widen__int
[backendopt:inlining] 0.00 scoped_nonmovingbuffer.__enter__
[backendopt:inlining] 0.00 write__Signed_arrayPtr_Signed_star_3
[backendopt:inlining] 0.00 memo__ll_prebuilt_empty_array_0
[backendopt:inlining] 0.00 isconstant__v685___simple_call__function_i
[backendopt:inlining] 0.00 isvirtual__v687___simple_call__function_i
[backendopt:inlining] 0.00 isconstant__v689___simple_call__function_i
[backendopt:inlining] 0.00 isconstant__v692___simple_call__function_i
[backendopt:inlining] 0.00 conditional_call__v693___simple_call__function_c_star_3
[backendopt:inlining] 2.00 ll_length__listPtr
[backendopt:inlining] 2.00 getraw
[backendopt:inlining] 2.00 ll_items__listPtr
[backendopt:inlining] 2.00 ll_strlen__rpy_stringPtr
[backendopt:inlining] 2.00 ll_uint_py_mod__Unsigned_Unsigned
[backendopt:inlining] 2.00 getraw
[backendopt:inlining] 2.00 setraw
[backendopt:inlining] 2.00 setraw
[backendopt:inlining] 2.00 ll_unsigned__Signed
[backendopt:inlining] 2.00 ll_uint_py_div__Unsigned_Unsigned
[backendopt:inlining] 4.00 copy_item__arrayPtr_arrayPtr_Signed_Signed
[backendopt:inlining] 5.00 release
[backendopt:inlining] 6.00 _str_ofs__rpy_string
[backendopt:inlining] 7.00 mallocstr__Signed
[backendopt:inlining] 4.00 get_saved_errno
[backendopt:inlining] 7.00 llrepr_out__int
[backendopt:inlining] 7.00 rpython_print_newline
[backendopt:inlining] 7.00 ll_listdelslice_startonly_look_inside_iff__listPtr_Signed
[backendopt:inlining] 7.00 ll_str__IntegerR_SignedConst_Signed
[backendopt:inlining] 7.50 mallocstr__Signed
[backendopt:inlining] 9.00 _ll_list_resize_hint_really_look_inside_iff__listPtr_Signed_Bool
[backendopt:inlining] 9.00 ll_join_strs_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT
[backendopt:inlining] 9.00 ll_join_chars_look_inside_iff__Signed_arrayPtr_Ptr_GcStruct_rpy_stringLlT
[backendopt:inlining] 4.00 ll_str__StringR_Ptr_GcStruct_rpy_strin_rpy_stringPtr
[backendopt:inlining] 7.00 acquire
[backendopt:inlining] 11.00 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed
[backendopt:inlining] 6.00 ll_setitem_fast__listPtr_Signed_Char
[backendopt:inlining] 12.00 ll_striter__rpy_stringPtr
[backendopt:inlining] 12.25 loop_unrolling_heuristic__v695___simple_call__function_l
[backendopt:inlining] 13.00 free_nonmovingbuffer_ll
[backendopt:inlining] 9.00 ll_listdelslice_startonly__v686___simple_call__function_l
[backendopt:inlining] 9.00 ll_listdelslice_startonly__v691___simple_call__function_l
[backendopt:inlining] 15.50 ll_strnext__stringiterPtr
[backendopt:inlining] 17.00 ll_append__listPtr_Char
[backendopt:inlining] 19.25 _errno_after__v666___simple_call__function__
[backendopt:inlining] 26.16 ll_join_chars__v680___simple_call__function_l
[backendopt:inlining] 26.16 ll_join_chars__v683___simple_call__function_l
[backendopt:inlining] 27.50 ll_arraycopy__arrayPtr_arrayPtr_Signed_Signed_Signed
[backendopt:inlining] 31.75 handle_posix_error__write
[backendopt:inlining] 31.87 _errno_before__v665___simple_call__function__
[backendopt:inlining] inlined 116 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] 1 simple mallocs removed in 'rpython_print_item'
[backendopt:malloc] 1 simple mallocs removed in 'rpython_print_end'
[backendopt:malloc] 3 simple mallocs removed in 'write'
[backendopt:malloc] 2 simple mallocs removed in 'scoped_nonmovingbuffer.__init__'
[backendopt:malloc] 7 simple mallocs removed in 'write__Signed_arrayPtr_Signed_star_3'
[backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_ge__listPtr_Signed'
[backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v670___simple_call__function_c_star_3'
[backendopt:malloc] 1 simple mallocs removed in '_ll_list_resize_le__listPtr_Signed'
[backendopt:malloc] 1 simple mallocs removed in 'conditional_call__v693___simple_call__function_c_star_3'
[backendopt:malloc] removed 18 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[translation:info] usession directory: /tmp/buildbot-arm64/usession-main-1520
[translation:info] already done: Annotating&simplifying
[translation:info] already done: RTyping
[translation:info] already done: lltype back-end optimisations
[translation:info] inserting stack checks...
[flowgraph] (rpython.rlib.rstack:42)stack_check
[flowgraph] (rpython.rlib.rstack:67)stack_check_slowpath
[rtyper] -=- specialized 8 more blocks -=-
[translation:info] inserted 0 stack checks.
[translation:info] Creating database for generating c source...
[flowgraph] (rpython.translator.exceptiontransform:100)rpyexc_occurred
[flowgraph] (rpython.translator.exceptiontransform:104)rpyexc_fetch_type
[flowgraph] (rpython.translator.exceptiontransform:107)rpyexc_fetch_value
[flowgraph] (rpython.translator.exceptiontransform:110)rpyexc_clear
[flowgraph] (rpython.translator.exceptiontransform:114)rpyexc_raise
[flowgraph] (rpython.translator.exceptiontransform:128)rpyexc_reraise
[flowgraph] (rpython.translator.exceptiontransform:133)rpyexc_fetch_exception
[flowgraph] (rpython.translator.exceptiontransform:138)rpyexc_restore_exception
[flowgraph] (rpython.translator.exceptiontransform:539)rpyexc_get_exception_addr
[flowgraph] (rpython.translator.exceptiontransform:543)rpyexc_get_exc_value_addr
[flowgraph] (rpython.rtyper.rclass:1173)ll_inst_type
[rtyper] specializing: 400 / 417 blocks (95%)
[rtyper] -=- specialized 25 more blocks -=-
[flowgraph] (rpython.memory.gctransform.transform:455)_ll_malloc_fixedsize
[flowgraph] (rpython.memory.gctransform.transform:462)_ll_malloc_fixedsize_zero
[flowgraph] (rpython.memory.gctransform.transform:478)_ll_malloc_varsize_no_length
[flowgraph] (rpython.memory.gctransform.transform:495)ll_malloc_varsize
[flowgraph] (rpython.memory.gctransform.transform:501)_ll_malloc_varsize_no_length_zero
[flowgraph] (rpython.memory.gctransform.transform:455)_ll_malloc_fixedsize
[flowgraph] (rpython.memory.gctransform.transform:455)_ll_malloc_fixedsize
[flowgraph] (rpython.memory.gctransform.transform:478)_ll_malloc_varsize_no_length
[flowgraph] (rpython.memory.gctransform.transform:495)ll_malloc_varsize
[flowgraph] (rpython.memory.gctransform.boehm:249)ll_weakref_create
[flowgraph] (rpython.memory.gctransform.boehm:263)ll_weakref_deref
[flowgraph] (rpython.memory.gctransform.boehm:58)ll_identityhash
[flowgraph] (rpython.memory.gctransform.transform:469)_ll_compute_size
[flowgraph] (rpython.memory.gctransform.boehm:20)<lambda>
[flowgraph] (rpython.memory.gctransform.boehm:24)<lambda>
[flowgraph] (rpython.memory.gctransform.transform:469)_ll_compute_size
[rtyper] -=- specialized 64 more blocks -=-
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_fixedsize__Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_fixedsize_zero__Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_varsize_no_length__Signed_Signed_Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_varsize_no_length_zero__Signed_Signed_Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_fixedsize__Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_fixedsize__Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_malloc_varsize_no_length__Signed_Signed_Signed
[backendopt:removecasts] removed 1 cast_pointers in ll_weakref_create__GCREFPtr
[backendopt:removecasts] removed 1 cast_pointers in _ll_compute_size__Signed_Signed_Signed
[backendopt:removecasts] removed 1 cast_pointers in _ll_compute_size__Signed_Signed_Signed
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] 0.00 _ll_compute_size__Signed_Signed_Signed
[backendopt:inlining] 0.00 _ll_compute_size__Signed_Signed_Signed
[backendopt:inlining] 2.00 _lambda_
[backendopt:inlining] 2.00 _lambda_
[backendopt:inlining] 16.50 _ll_malloc_varsize_no_length__Signed_Signed_Signed
[backendopt:inlining] 16.50 _ll_malloc_varsize_no_length__Signed_Signed_Signed
[backendopt:inlining] inlined 8 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] removed 0 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[flowgraph] (rpython.translator.c.genc:261)entrypoint_wrapper
[flowgraph] (rpython.rtyper.lltypesystem.rffi:862)charp2str
[flowgraph] (rpython.rtyper.lltypesystem.rffi:1051)charpsize2str
[flowgraph] (rpython.rtyper.lltypesystem.rstr:145)copy_raw_to_string
[flowgraph] (rpython.rtyper.rlist:487)ll_alloc_and_set
[flowgraph] (rpython.rlib.rarithmetic:741)int_force_ge_zero
[flowgraph] (rpython.rtyper.rlist:510)_ll_alloc_and_set_jit
[flowgraph] (rpython.rtyper.rlist:472)_ll_zero_or_null
[flowgraph] (rpython.rtyper.rlist:494)_ll_alloc_and_set_nojit
[flowgraph] (rpython.rtyper.lltypesystem.rlist:324)ll_newlist
[flowgraph] (rpython.rtyper.rlist:522)_ll_alloc_and_clear
[flowgraph] (rpython.rtyper.lltypesystem.rlist:369)ll_items
[flowgraph] (?:11)_ll_alloc_and_set_nonnull_look_inside_iff
[flowgraph] (rpython.rtyper.rlist:530)<lambda>
[flowgraph] (rpython.rlib.jit:269)isconstant
[flowgraph] (rpython.rtyper.rlist:530)_ll_alloc_and_set_nonnull
[flowgraph] (rpython.rtyper.lltypesystem.rlist:377)ll_setitem_fast
[flowgraph] (rpython.rlib.rgc:538)ll_arrayfill
[flowgraph] (rpython.rlib.rgc:508)ll_arrayclear
[flowgraph] (rpython.rtyper.lltypesystem.llmemory:411)sizeof
[flowgraph] (?:2)_ll_alloc_and_set_nonnull_trampoline
[flowgraph] (rpython.rtyper.rlist:530)_ll_alloc_and_set_nonnull
[flowgraph] (?:1)memo_itemoffsetof_0
[flowgraph] (?:1)memo__sizeof_none_0
[flowgraph] (rpython.rtyper.rlist:728)ll_setitem_nonneg
[rtyper] specializing: 500 / 571 blocks (87%)
[rtyper] -=- specialized 90 more blocks -=-
[rtyper] -=- specialized 0 more blocks -=-
[flowgraph] (rpython.memory.gctransform.boehm:128)ll_finalizer
[flowgraph] (rpython.memory.gctransform.boehm:128)ll_finalizer
[flowgraph] (rpython.memory.gctransform.boehm:128)ll_finalizer
[flowgraph] (rpython.memory.gctransform.support:81)ll_call_destructor
[flowgraph] (rpython.memory.gctransform.support:77)write
[flowgraph] (rpython.rtyper.lltypesystem.rffi:278)write
[flowgraph] (rpython.rtyper.lltypesystem.rffi:934)get_nonmovingbuffer_ll_final_null
[flowgraph] (rpython.memory.gctransform.support:81)ll_call_destructor
[rtyper] specializing: 600 / 613 blocks (97%)
[flowgraph] (rpython.rtyper.rclass:870)ll_str
[flowgraph] (rpython.rtyper.lltypesystem.rstr:425)ll_strconcat
[flowgraph] (rpython.rtyper.lltypesystem.rstr:416)ll_length
[flowgraph] (rpython.rtyper.lltypesystem.ll_str:47)ll_int2hex
[flowgraph] (rpython.rtyper.lltypesystem.ll_str:7)ll_unsigned
[flowgraph] (?:1)memo_conststr_0
[flowgraph] (?:1)memo_conststr_0
[flowgraph] (?:1)memo_conststr_0
[flowgraph] (?:1)memo_conststr_0
[rtyper] -=- specialized 81 more blocks -=-
[backendopt:inlining] phase with threshold factor: 32.4
[backendopt:inlining] heuristic: rpython.translator.backendopt.inline.inlining_heuristic
[backendopt:inlining] 0.00 get_nonmovingbuffer_ll_final_null
[backendopt:inlining] 0.00 copy_string_contents__rpy_stringPtr_rpy_stringPtr_Signed_Signed_Signed
[backendopt:inlining] 0.00 ll_unsigned__Unsigned
[backendopt:inlining] 0.00 memo_conststr_0
[backendopt:inlining] 0.00 get_nonmovingbuffer_ll
[backendopt:inlining] 0.00 write__Signed_SomeString_Signed_star_3
[backendopt:inlining] 2.00 ll_strlen__rpy_stringPtr
[backendopt:inlining] 2.00 ll_length__rpy_stringPtr
[backendopt:inlining] 13.00 free_nonmovingbuffer_ll
[backendopt:inlining] inlined 17 callsites.
[backendopt:malloc] starting malloc removal
[backendopt:malloc] 10 simple mallocs removed in 'write'
[backendopt:malloc] 10 simple mallocs removed in 'write__Signed_SomeString_Signed_star_3'
[backendopt:malloc] removed 20 simple mallocs in total
[backendopt:mergeifblocks] starting to merge if blocks
[c:database] GC transformer: finished helpers
[c:database] GC transformer: finished tables
[c:database] Inlining GC helpers and postprocessing
[c] 344 nodes [ array: 41 boehm rtti: 21 func: 74 struct: 208 ]
[c:database] Completed
builder: rpython-macos-arm64 build #307+
test: translator/c/test/test_boehm.py::TestUsingBoehm::()::test__del__