Skip to content

Instantly share code, notes, and snippets.

@halgari
Created November 20, 2014 22:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save halgari/e3cd4be6ef51c715d6c6 to your computer and use it in GitHub Desktop.
Save halgari/e3cd4be6ef51c715d6c6 to your computer and use it in GitHub Desktop.
[p0, p1, p2]
p3 = getfield_gc(p0, descr=FieldDescr(<GcStruct pixie.vm.ast.Locals { super, vable_token, inst__names, inst__vals }>, 'inst__vals'))
p5 = getarrayitem_gc(p3, 0, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p7 = getarrayitem_gc(p3, 1, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p8 = getfield_gc(p0, descr=FieldDescr(<GcStruct pixie.vm.ast.Locals { super, vable_token, inst__names, inst__vals }>, 'inst__names'))
p10 = getarrayitem_gc(p8, 0, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
p12 = getarrayitem_gc(p8, 1, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
label(p0, p1, p2, p5, p7, p10, p12, descr=TargetToken(4912768184))
debug_merge_point(0, 0, '<If object at 0x121f7b980>')
guard_class(p1, <AddressAsInt * struct pixie.vm.ast.SyntaxThunk_vtable { super=... }>, descr=<Guard0x124d2e448>) [p2, p1, p5, p7, p10, p12, p0]
p14 = getfield_gc_pure(p1, descr=FieldDescr(<GcStruct pixie.vm.ast.SyntaxThunk { super, inst__w_ast, inst__w_locals }>, 'inst__w_ast'))
p15 = getfield_gc_pure(p1, descr=FieldDescr(<GcStruct pixie.vm.ast.SyntaxThunk { super, inst__w_ast, inst__w_locals }>, 'inst__w_locals'))
guard_class(p14, <AddressAsInt * struct pixie.vm.ast.If_vtable { super=... }>, descr=<Guard0x124d2e410>) [p2, p14, p15, p5, p7, p10, p12, p0]
p17 = getfield_gc_pure(p14, descr=FieldDescr(<GcStruct pixie.vm.ast.If { super, inst__w_else, inst__w_test, inst__w_then }>, 'inst__w_test'))
guard_value(p17, ConstPtr(ptr18), descr=<Guard0x124d2e3d8>) [p2, p15, p17, p5, p7, p10, p12, p0, p14]
debug_merge_point(0, 0, '<Invoke object at 0x11a1d0090>')
debug_merge_point(0, 0, '<Lookup object at 0x10b227f68>')
i19 = ptr_eq(p15, p0)
guard_true(i19, descr=<Guard0x124d2e100>) [p2, p15, p5, p7, p10, p12, p0, p14]
i21 = instance_ptr_eq(ConstPtr(ptr20), p10)
guard_false(i21, descr=<Guard0x124d2e0c8>) [p2, p15, p0, p5, p7, p10, p12, p14]
i22 = instance_ptr_eq(ConstPtr(ptr20), p12)
guard_false(i22, descr=<Guard0x124d2e090>) [p2, p15, p0, p5, p7, p10, p12, p14]
guard_value(p2, ConstPtr(ptr23), descr=<Guard0x124d2e058>) [p2, p5, p7, p10, p12, p0, p15, p14]
debug_merge_point(0, 0, '<Lookup object at 0x112cf0f00>')
i25 = instance_ptr_eq(ConstPtr(ptr24), p10)
guard_false(i25, descr=<Guard0x124d409c0>) [p15, p0, p5, p7, p10, p12, None, p14]
i27 = instance_ptr_eq(ConstPtr(ptr24), p12)
guard_true(i27, descr=<Guard0x124d40988>) [p15, p0, p5, p7, p10, p12, None, p14]
guard_nonnull_class(p7, <AddressAsInt * struct pixie.vm.numbers.Integer_vtable { super=... }>, descr=<Guard0x124d40950>) [p7, p5, p10, p12, p0, p15, p14]
debug_merge_point(0, 0, '<Constant object at 0x1137f41a8>')
p30 = getfield_gc(ConstPtr(ptr29), descr=FieldDescr(<GcStruct pixie.vm.code.DoublePolymorphicFn { super, inst__w_name }>, 'inst__w_name'))
guard_value(p30, ConstPtr(ptr31), descr=<Guard0x124d40480>) [p30, p5, p7, p10, p12, p0, p15, p14]
i32 = getfield_gc_pure(p7, descr=FieldDescr(<GcStruct pixie.vm.numbers.Integer { super, inst__int_val }>, 'inst__int_val'))
i34 = int_eq(i32, 10000)
guard_false(i34, descr=<Guard0x124d40448>) [p5, p7, p10, p12, p0, p15, p14]
p35 = getfield_gc_pure(p14, descr=FieldDescr(<GcStruct pixie.vm.ast.If { super, inst__w_else, inst__w_test, inst__w_then }>, 'inst__w_else'))
guard_value(p35, ConstPtr(ptr36), descr=<Guard0x124d403a0>) [p15, p35, p5, p7, p10, p12, p0, None, None]
debug_merge_point(0, 0, '<Invoke object at 0x121f7ad08>')
debug_merge_point(0, 0, '<Lookup object at 0x11e60cb48>')
i38 = instance_ptr_eq(ConstPtr(ptr37), p10)
guard_true(i38, descr=<Guard0x124d40100>) [p15, p0, p5, p7, p10, p12, None, None]
guard_nonnull_class(p5, <AddressAsInt * struct pixie.vm.ast.PixieFunction_vtable { super=..., cls_with_env=None }>, descr=<Guard0x124d400c8>) [p5, p7, p10, p12, p0, p15, None]
debug_merge_point(0, 0, '<Invoke object at 0x120d53168>')
debug_merge_point(0, 0, '<Lookup object at 0x11f9002f8>')
i41 = instance_ptr_eq(ConstPtr(ptr40), p10)
guard_false(i41, descr=<Guard0x124d4ac28>) [p15, p0, p5, p7, p10, p12, None, None]
i42 = instance_ptr_eq(ConstPtr(ptr40), p12)
guard_false(i42, descr=<Guard0x124d4abf0>) [p15, p0, p5, p7, p10, p12, None, None]
debug_merge_point(0, 0, '<Constant object at 0x120d917f8>')
debug_merge_point(0, 0, '<Lookup object at 0x122dd6598>')
p44 = getfield_gc(ConstPtr(ptr43), descr=FieldDescr(<GcStruct pixie.vm.code.DoublePolymorphicFn { super, inst__w_name }>, 'inst__w_name'))
guard_value(p44, ConstPtr(ptr45), descr=<Guard0x124d4a368>) [p44, p5, p7, p10, p12, p0, p15, None]
i47 = int_add(1, i32)
p48 = getfield_gc_pure(p5, descr=FieldDescr(<GcStruct pixie.vm.ast.PixieFunction { super, inst__args_w, inst__env, inst__w_body, inst__w_name }>, 'inst__env'))
p49 = getfield_gc_pure(p5, descr=FieldDescr(<GcStruct pixie.vm.ast.PixieFunction { super, inst__args_w, inst__env, inst__w_body, inst__w_name }>, 'inst__w_name'))
i50 = ptr_eq(p48, p0)
guard_false(i50, descr=<Guard0x124d4a218>) [p5, p49, p48, p7, p10, p12, p0, i47, None, None]
p51 = getfield_gc(p48, descr=FieldDescr(<GcStruct pixie.vm.ast.Locals { super, vable_token, inst__names, inst__vals }>, 'vable_token'))
i53 = ptr_ne(p51, ConstPtr(null))
cond_call(i53, 4359860064, p48, descr=CallDescr(<Void>, (<* GCREF (gcopaque)>,), <EffectInfo 0x115a24608: EF=2 OS=121>))
p55 = getfield_gc(p48, descr=FieldDescr(<GcStruct pixie.vm.ast.Locals { super, vable_token, inst__names, inst__vals }>, 'inst__names'))
i56 = arraylen_gc(p55, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
i58 = int_lt(0, i56)
guard_false(i58, descr=<Guard0x124d4bc58>) [p5, p49, p48, p7, p10, p12, p0, i47, None, None]
p59 = getfield_gc_pure(p5, descr=FieldDescr(<GcStruct pixie.vm.ast.PixieFunction { super, inst__args_w, inst__env, inst__w_body, inst__w_name }>, 'inst__args_w'))
p61 = getarrayitem_gc_pure(p59, 0, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
i62 = instance_ptr_eq(p49, p61)
guard_false(i62, descr=<Guard0x124d4bb40>) [p5, p61, p7, p10, p12, p0, p49, i47, None, None]
p63 = getfield_gc_pure(p5, descr=FieldDescr(<GcStruct pixie.vm.ast.PixieFunction { super, inst__args_w, inst__env, inst__w_body, inst__w_name }>, 'inst__w_body'))
guard_value(p63, ConstPtr(ptr64), descr=<Guard0x124d4bad0>) [p63, p5, p7, p10, p12, p0, p61, p49, i47, None, None]
debug_merge_point(0, 0, '<If object at 0x121f7b980>')
p65 = same_as(p49)
p66 = same_as(p61)
i67 = same_as(i47)
label(p49, p61, p5, i47, p7, p10, p12, i53, p48, p59, p65, p66, i67, descr=TargetToken(4618078544))
debug_merge_point(0, 0, '<If object at 0x121f7b980>')
debug_merge_point(0, 0, '<Invoke object at 0x11a1d0090>')
debug_merge_point(0, 0, '<Lookup object at 0x10b227f68>')
debug_merge_point(0, 0, '<Lookup object at 0x112cf0f00>')
debug_merge_point(0, 0, '<Constant object at 0x1137f41a8>')
debug_merge_point(0, 0, '<Invoke object at 0x121f7ad08>')
debug_merge_point(0, 0, '<Lookup object at 0x11e60cb48>')
debug_merge_point(0, 0, '<Invoke object at 0x120d53168>')
debug_merge_point(0, 0, '<Lookup object at 0x11f9002f8>')
debug_merge_point(0, 0, '<Constant object at 0x120d917f8>')
debug_merge_point(0, 0, '<Lookup object at 0x122dd6598>')
cond_call(i53, 4359860064, p48, descr=CallDescr(<Void>, (<* GCREF (gcopaque)>,), <EffectInfo 0x115a24608: EF=2 OS=121>))
debug_merge_point(0, 0, '<If object at 0x121f7b980>')
i68 = arraylen_gc(p59, descr=ArrayDescr(<GcArray of * GcStruct object { typeptr } >))
jump(p65, p66, p5, i67, p7, p10, p12, i53, p48, p59, p65, p66, i67, descr=TargetToken(4618078544))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment