Commit bc1ff4e5 authored by John Zhang's avatar John Zhang

fixed some type mismatch problem with get/setarrayitem; added support for...

fixed some type mismatch problem with get/setarrayitem; added support for opaque types by emulating it using equally sized arrays
parent 3d8fbc26
This diff is collapsed.
......@@ -44,6 +44,12 @@ def test_map_type_opqptr():
LL_META_CSTR = lltype.Ptr(lltype.GcOpaqueType("MuStr", hints={'mu_render_ptr_as': mutype.META_CSTR}))
assert ll2mu.map_type(LL_META_CSTR) == mutype.META_CSTR
# other opaque types
# try translate the underlying opaque type first
from rpython.rlib._rsocket_rffi import fd_set
assert ll2mu.map_type(fd_set) == mutype.MuUPtr(mutype.MuArray(mutype.MU_INT8, fd_set.TO.hints['getsize']()))
def test_map_type_hybrid():
ll2mu = LL2MuMapper()
from rpython.rtyper.lltypesystem.rstr import STR
......@@ -727,3 +733,4 @@ def test_map_op_mu_meta_lst2carr():
muops = ll2mu.map_op(llop)
assert [op.opname for op in muops] == ['mu_getiref', 'mu_getfieldiref', 'mu_load',
'mu_getiref', 'mu_getvarpartiref', 'mu_shiftiref']
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment