Beispiel #1
0
 'ooidentityhash':
 [PushAllArgs, 'callvirt instance int32 object::GetHashCode()'],
 'oohash': [PushAllArgs, 'callvirt instance int32 object::GetHashCode()'],
 'oostring': [OOString],
 'oounicode': [OOUnicode],
 'ooparse_int': [
     PushAllArgs,
     'call int32 [pypylib]pypy.runtime.Utils::OOParseInt(string, int32)'
 ],
 'ooparse_float': [
     PushAllArgs,
     'call float64 [pypylib]pypy.runtime.Utils::OOParseFloat(string)'
 ],
 'oonewcustomdict': [NewCustomDict],
 'oonewarray': [OONewArray, StoreResult],
 'hint': [PushArg(0), StoreResult],
 'direct_call': [Call],
 'indirect_call': [IndirectCall],
 'cast_ptr_to_weakadr':
 [PushAllArgs,
  'newobj instance void class %s::.ctor(object)' % WEAKREF],
 'gc__collect':
 'call void class [mscorlib]System.GC::Collect()',
 'gc_set_max_heap_size':
 Ignore,
 'resume_point':
 Ignore,
 'debug_assert':
 Ignore,
 'keepalive':
 Ignore,
Beispiel #2
0
 'indirect_call' : [IndirectCall],
 'same_as' : CopyName,
 'new' : [New],
 'runtimenew' : [RuntimeNew],
 'instanceof' : [IsInstance],
 #'subclassof' : [IsSubclassOf],
 
 # objects
 
 'oosetfield' : [_SetFieldDispatcher(Builtins, class_map)],
 'oogetfield' : [_GetFieldDispatcher(Builtins, class_map)],
 'oosend'     : [_MethodDispatcher(Builtins, class_map)],
 'ooupcast'   : CopyName,
 'oodowncast' : CopyName,        
 'oononnull'  : [PushAllArgs,_Prefix('!!')],
 'oostring'   : [PushArg(0),CastString],
 'ooparse_int' : [PushAllArgs,_CastFun("parseInt",2)],
 'ooparse_float' : [PushAllArgs,_CastFun("parseFloat",1)],
 'oois'       : '===',
 'cast_bool_to_int':         CopyName,
 'cast_bool_to_uint':        CopyName,
 'cast_bool_to_float':       CopyName,
 'cast_char_to_int':         [PushAllArgs,_LoadConst(0),_CastMethod("charCodeAt",1)],
 'cast_unichar_to_int':      [PushAllArgs,_LoadConst(0),_CastMethod("charCodeAt",1)],
 'cast_int_to_char':         [PushAllArgs,_CastFun("String.fromCharCode",1)],
 'cast_int_to_unichar':      [PushAllArgs,_CastFun("String.fromCharCode",1)],
 'cast_int_to_uint':         CopyName,
 'cast_int_to_float':        CopyName,
 'cast_int_to_longlong':     CopyName,
 'cast_uint_to_int':         CopyName,
 'cast_uint_to_float':       CopyName,
Beispiel #3
0
    'oodowncast':               [DownCast, StoreResult],
    'oobox_int':                jvm.PYPYBOXINT,
    'oounbox_int':              jvm.PYPYUNBOXINT,
    'cast_to_object':           DoNothing,
    'cast_from_object':         [DownCast, StoreResult],
    'instanceof':               [CastTo, StoreResult],
    'subclassof':               [PushAllArgs, jvm.SWAP, jvm.CLASSISASSIGNABLEFROM, StoreResult],
    'classof':                  [PushAllArgs, jvm.OBJECTGETCLASS, StoreResult],
    'gc_id':                    [PushAllArgs, jvm.SYSTEMIDENTITYHASH, StoreResult],   # XXX not implemented
    'gc_identityhash':          [PushAllArgs, jvm.SYSTEMIDENTITYHASH, StoreResult], 
    'oostring':                 [OOString, StoreResult],
    'oounicode':                [OOUnicode, StoreResult],
    'ooparse_float':            jvm.PYPYOOPARSEFLOAT,
    'oonewcustomdict':          [NewCustomDict, StoreResult],
    'same_as':                  DoNothing,
    'hint':                     [PushArg(0), StoreResult],
    'direct_call':              [Call, StoreResult],
    'indirect_call':            [PushAllArgs, IndirectCall, StoreResult],

    'gc__collect':              jvm.SYSTEMGC,
    'gc_set_max_heap_size':     Ignore,
    'jit_marker':               Ignore,
    'jit_force_virtualizable':  Ignore,
    'jit_force_virtual':        DoNothing,
    'jit_force_quasi_immutable': Ignore,

    'debug_assert':              [], # TODO: implement?
    'debug_start_traceback':    Ignore,
    'debug_record_traceback':   Ignore,
    'debug_catch_exception':    Ignore,
    'debug_reraise_traceback':  Ignore,
Beispiel #4
0
    'cli_eventhandler':         [EventHandler],
    'cli_getstaticfield':       [GetStaticField],
    'cli_setstaticfield':       [SetStaticField],
    'classof':                  [PushAllArgs, 'callvirt instance class [mscorlib]System.Type object::GetType()'],
    'instanceof':               [CastTo, 'ldnull', 'cgt.un'],
    'subclassof':               [PushAllArgs, 'call bool [pypylib]pypy.runtime.Utils::SubclassOf(class [mscorlib]System.Type, class[mscorlib]System.Type)'],
    'gc_id':                    [PushAllArgs, 'call int32 [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::GetHashCode(object)'],   # XXX not implemented
    'gc_identityhash':          [PushAllArgs, 'call int32 [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::GetHashCode(object)'],
    'oostring':                 [OOString],
    'oounicode':                [OOUnicode],
    'ooparse_int':              [PushAllArgs, 'call int32 [pypylib]pypy.runtime.Utils::OOParseInt(string, int32)'],
    'ooparse_float':            [PushAllArgs, 'call float64 [pypylib]pypy.runtime.Utils::OOParseFloat(string)'],
    'oonewcustomdict':          [NewCustomDict],
    'oonewarray':               [OONewArray, StoreResult],
    
    'hint':                     [PushArg(0), StoreResult],
    'direct_call':              [Call],
    'indirect_call':            [IndirectCall],

    'cast_ptr_to_weakadr':      [PushAllArgs, 'newobj instance void class %s::.ctor(object)' % WEAKREF],
    'gc__collect':              'call void class [mscorlib]System.GC::Collect()',
    'gc_set_max_heap_size':     Ignore,
    'resume_point':             Ignore,
    'debug_assert':             Ignore,
    'debug_start_traceback':    Ignore,
    'debug_record_traceback':   Ignore,
    'debug_catch_exception':    Ignore,
    'debug_reraise_traceback':  Ignore,
    'debug_print_traceback':    Ignore,
    'debug_print':              [DebugPrint],
    'debug_start':              [PushAllArgs, 'call void [pypylib]pypy.runtime.DebugPrint::DEBUG_START(string)'],