-
-
Save krono/18131648ba6dd7d7184c to your computer and use it in GitHub Desktop.
Pypylog first 200 lines
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[b57859139b7] {jit-log-opt-loop | |
# Loop 0 ((jitdriver: get_printable_location disabled, no debug_print)) : entry bridge with 65 ops | |
[p0] | |
+61: p1 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__w_self 52>) | |
+70: i2 = getfield_gc(p0, descr=<FieldS spyvm.storage_contexts.ContextPartShadow.inst__w_self_size 56>) | |
+73: p3 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__s_sender 28>) | |
+76: i4 = getfield_gc(p0, descr=<FieldS spyvm.storage_contexts.ContextPartShadow.inst__pc 24>) | |
+79: i5 = getfield_gc(p0, descr=<FieldS spyvm.storage_contexts.ContextPartShadow.inst__stack_ptr 32>) | |
+82: p6 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst_state 68>) | |
+85: p7 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__w_home 40>) | |
+106: i8 = getfield_gc(p0, descr=<FieldS spyvm.storage_contexts.ContextPartShadow.inst__initialip 20>) | |
+115: i9 = getfield_gc(p0, descr=<FieldS spyvm.storage_contexts.ContextPartShadow.inst__eargc 16>) | |
+124: p10 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst_closure 60>) | |
+127: p11 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__w_receiver 48>) | |
+148: p12 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__w_method 44>) | |
+157: i13 = getfield_gc(p0, descr=<FieldU spyvm.storage_contexts.ContextPartShadow.inst__is_BlockClosure_ensure 72>) | |
+161: p14 = getfield_gc(p0, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.inst__temps_and_stack 36>) | |
+182: p16 = getarrayitem_gc(p14, 0, descr=<ArrayP 4>) | |
+185: p18 = getarrayitem_gc(p14, 1, descr=<ArrayP 4>) | |
+194: p20 = getarrayitem_gc(p14, 2, descr=<ArrayP 4>) | |
+203: p22 = getarrayitem_gc(p14, 3, descr=<ArrayP 4>) | |
+212: p24 = getarrayitem_gc(p14, 4, descr=<ArrayP 4>) | |
+221: p26 = getarrayitem_gc(p14, 5, descr=<ArrayP 4>) | |
+230: p28 = getarrayitem_gc(p14, 6, descr=<ArrayP 4>) | |
+239: p30 = getarrayitem_gc(p14, 7, descr=<ArrayP 4>) | |
+248: p32 = getarrayitem_gc(p14, 8, descr=<ArrayP 4>) | |
+257: p34 = getarrayitem_gc(p14, 9, descr=<ArrayP 4>) | |
+266: p36 = getarrayitem_gc(p14, 10, descr=<ArrayP 4>) | |
+275: p38 = getarrayitem_gc(p14, 11, descr=<ArrayP 4>) | |
+284: p40 = getarrayitem_gc(p14, 12, descr=<ArrayP 4>) | |
+293: p42 = getarrayitem_gc(p14, 13, descr=<ArrayP 4>) | |
+302: p44 = getarrayitem_gc(p14, 14, descr=<ArrayP 4>) | |
+311: p46 = getarrayitem_gc(p14, 15, descr=<ArrayP 4>) | |
+320: p48 = getarrayitem_gc(p14, 16, descr=<ArrayP 4>) | |
+329: p50 = getarrayitem_gc(p14, 17, descr=<ArrayP 4>) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [9]: <0x15>pushTemporaryVariableBytecode(5)') | |
+338: guard_value(i4, 9, descr=<Guard0x12b1c3a0>) [p0, i4, p1, i2, p3, i5, p6, p7, i8, i9, p10, p11, p12, i13, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+347: i52 = getfield_gc_pure(p0, descr=<FieldU spyvm.storage_contexts.ContextPartShadow.inst_is_block_context 73>) | |
+357: guard_false(i52, descr=<Guard0x12b1c5e0>) [p0, p1, i2, p3, i5, p6, p7, i8, i9, p10, p11, p12, i13, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+365: p53 = getfield_gc_pure(p12, descr=<FieldP spyvm.model.W_CompiledMethod.inst_version 56>) | |
+368: guard_value(p12, ConstPtr(ptr54), descr=<Guard0x12b1c5b0>) [p0, p53, p12, p1, i2, p3, i5, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+380: guard_value(p53, ConstPtr(ptr55), descr=<Guard0x12b1c580>) [p0, p53, p1, i2, p3, i5, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p26, p28, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+392: guard_value(i5, 6, descr=<Guard0x12b1c550>) [p0, i5, p26, p1, i2, p3, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p28, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [10]: <0x12>pushTemporaryVariableBytecode(2)') | |
+401: guard_not_invalidated(descr=<Guard0x12b1c520>) [p0, p1, i2, p3, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p26, p30, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [11]: <0xb4>bytecodePrimLessOrEqual') | |
+401: guard_class(p26, ConstClass(W_SmallInteger), descr=<Guard0x12b1c4f0>) [p0, p26, p1, i2, p3, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+420: i58 = getfield_gc_pure(p26, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+423: guard_class(p20, ConstClass(W_SmallInteger), descr=<Guard0x12b1c4c0>) [p0, i58, p20, p1, i2, p3, p6, p7, i8, i9, p10, p11, i13, p16, p18, p22, p24, p26, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+442: i60 = getfield_gc_pure(p20, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+445: i61 = int_le(i58, i60) | |
guard_false(i61, descr=<Guard0x12b1c490>) [p0, p1, i2, p3, p6, p7, i8, i9, p10, p11, i13, p16, p18, p20, p22, p24, p26, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [12]: <0xac>longJumpIfFalseBytecode(0)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [51]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [52]: <0x7c>returnTopFromMethodBytecode') | |
+453: guard_isnull(p10, descr=<Guard0x12b1c460>) [p0, p10, p22, p1, i2, p3, p6, p7, i8, i9, p11, i13, p16, p18, p20, p24, p26, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+467: i63 = instance_ptr_eq(p6, ConstPtr(ptr62)) | |
guard_false(i63, descr=<Guard0x12b1c430>) [p0, p22, p1, i2, p3, p6, p7, i8, i9, p11, i13, p16, p18, p20, p24, p26, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50] | |
+483: leave_portal_frame(0) | |
+483: p65 = force_token() | |
p67 = new_with_vtable(ConstClass(Return)) | |
+551: setfield_gc(p0, p65, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.vable_token 12>) | |
+554: setfield_gc(p67, p22, descr=<FieldP spyvm.interpreter.Return.inst_value 12>) | |
+563: setfield_gc(p67, ConstPtr(null), descr=<FieldP spyvm.interpreter.Return.inst_s_target_context 8>) | |
+570: setfield_gc(p67, 0, descr=<FieldU spyvm.interpreter.Return.inst_arrived_at_target 16>) | |
+574: setfield_gc(p67, 1, descr=<FieldU spyvm.interpreter.Return.inst_is_local 17>) | |
+578: guard_not_forced_2(descr=<Guard0x12b1c400>) [p1, i2, p3, p6, p7, i8, i9, p11, i13, p16, p18, p20, p22, p24, p26, p32, p34, p36, p38, p40, p42, p44, p46, p48, p50, p0] | |
+591: finish(p67, descr=<ExitFrameWithExceptionDescrRef object at 0x3fa834>) | |
+656: --end of the loop-- | |
[b578597822d] jit-log-opt-loop} | |
[b578605b3cb] {jit-log-opt-bridge | |
# bridge out of Guard 0x12b1c490 with 116 ops | |
[p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [12]: <0xac>longJumpIfFalseBytecode(0)') | |
+29: i27 = getfield_gc_pure(p0, descr=<FieldU spyvm.storage_contexts.ContextPartShadow.inst_is_block_context 73>) | |
+33: guard_false(i27, descr=<Guard0x12b1c8b0>) [p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+41: guard_not_invalidated(descr=<Guard0x12b1cd30>) [p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [14]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [15]: <0x10>pushTemporaryVariableBytecode(0)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [16]: <0x15>pushTemporaryVariableBytecode(5)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [17]: <0xc0>bytecodePrimAt') | |
+41: p29 = getfield_gc(ConstPtr(ptr28), descr=<FieldP spyvm.model.W_PointersObject.inst_strategy 24>) | |
+47: guard_nonnull_class(p29, ConstClass(CachedObjectShadow), descr=<Guard0x12b1cd00>) [p0, p29, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+65: p32 = getfield_gc(ConstPtr(ptr31), descr=<FieldP spyvm.model.W_PointersObject.inst__storage 20>) | |
+71: p34 = getarrayitem_gc(p32, 32, descr=<ArrayP 4>) | |
+77: i35 = getfield_gc_pure(p0, descr=<FieldU spyvm.storage.AbstractStrategy.inst_space 8>) | |
+80: guard_class(p11, ConstClass(W_BytesObject), descr=<Guard0x12b1ccd0>) [p0, i35, p11, p34, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+105: p37 = getfield_gc_pure(p11, descr=<FieldP spyvm.model.W_AbstractObjectWithClassReference.inst_w_class 12>) | |
+114: p38 = getfield_gc(p37, descr=<FieldP spyvm.model.W_PointersObject.inst_strategy 24>) | |
+123: guard_value(p38, ConstPtr(ptr39), descr=<Guard0x12b1cca0>) [p0, p37, p38, p11, p34, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+135: guard_value(p34, ConstPtr(ptr40), descr=<Guard0x12b1cc70>) [p0, p11, p34, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+147: guard_class(p16, ConstClass(W_SmallInteger), descr=<Guard0x12b1cc40>) [p0, p11, p16, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+160: i42 = getfield_gc_pure(p16, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+163: i44 = int_sub(i42, 1) | |
+166: i45 = getfield_gc_pure(p11, descr=<FieldS spyvm.model.W_BytesObject.inst__size 20>) | |
+169: i46 = uint_lt(i44, i45) | |
guard_true(i46, descr=<Guard0x12b1cc10>) [p0, p11, i44, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+177: p47 = getfield_gc_pure(p11, descr=<FieldP spyvm.model.W_BytesObject.inst_bytes 24>) | |
+180: guard_nonnull(p47, descr=<Guard0x12b1cbe0>) [p0, p11, i44, p47, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+188: i49 = int_lt(i44, 0) | |
guard_false(i49, descr=<Guard0x12b1cbb0>) [p0, p11, i44, p47, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+197: i50 = getarrayitem_gc(p47, i44, descr=<ArrayU 1>) | |
+202: p52 = getfield_gc(ConstPtr(ptr51), descr=<FieldP spyvm.model.W_PointersObject.inst_strategy 24>) | |
+208: guard_class(p52, ConstClass(ListStrategy), descr=<Guard0x12b1cb80>) [p0, p11, i50, p52, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+221: p55 = getfield_gc(ConstPtr(ptr54), descr=<FieldP spyvm.model.W_PointersObject.inst__storage 20>) | |
+227: p56 = getarrayitem_gc(p55, i50, descr=<ArrayP 4>) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [18]: <0xd2>sendLiteralSelectorBytecode(2)') | |
+231: guard_class(p56, ConstClass(W_PointersObject), descr=<Guard0x12b1cb50>) [p0, i35, p56, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+244: p58 = getfield_gc_pure(p56, descr=<FieldP spyvm.model.W_AbstractObjectWithClassReference.inst_w_class 12>) | |
+247: p59 = getfield_gc(p58, descr=<FieldP spyvm.model.W_PointersObject.inst_strategy 24>) | |
+250: guard_value(p59, ConstPtr(ptr60), descr=<Guard0x12b1cb20>) [p0, p58, p59, p56, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+262: p61 = getfield_gc(p56, descr=<FieldP spyvm.model.W_PointersObject.inst_strategy 24>) | |
+265: guard_class(p61, 3734928, descr=<Guard0x12b1caf0>) [p0, p56, p61, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
+278: p63 = getfield_gc(p56, descr=<FieldP spyvm.model.W_PointersObject.inst__storage 20>) | |
+281: i65 = getarrayitem_gc(p63, 0, descr=<ArrayS 4>) | |
+284: i67 = int_eq(i65, 2147483647) | |
guard_false(i67, descr=<Guard0x12b1cac0>) [p0, p56, i65, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [19]: <0xb0>bytecodePrimAdd') | |
+296: guard_class(p14, ConstClass(W_SmallInteger), descr=<Guard0x12b1ca90>) [p0, p14, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26, i65] | |
+315: i69 = getfield_gc_pure(p14, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+318: i70 = int_add_ovf(i69, i65) | |
guard_no_overflow(descr=<Guard0x12b1ca60>) [p0, i70, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p18, p19, p20, p21, p22, p23, p24, p25, p26, i65] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [20]: <0x6b>storeAndPopTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [21]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [22]: <0x23>pushLiteralConstantBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [23]: <0xbe>bytecodePrimBitAnd') | |
+326: i72 = int_and(i70, 16383) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [24]: <0x6c>storeAndPopTemporaryVariableBytecode(4)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [25]: <0x24>pushLiteralConstantBytecode(4)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [26]: <0x14>pushTemporaryVariableBytecode(4)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [27]: <0xb8>bytecodePrimMultiply') | |
+334: i74 = int_mul(9741, i72) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [28]: <0x24>pushLiteralConstantBytecode(4)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [29]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [30]: <0x25>pushLiteralConstantBytecode(5)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [31]: <0xbc>bytecodePrimBitShift') | |
+342: i76 = int_rshift(i70, 14) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [32]: <0xb8>bytecodePrimMultiply') | |
+345: i78 = int_mul(9741, i76) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [33]: <0x26>pushLiteralConstantBytecode(6)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [34]: <0x14>pushTemporaryVariableBytecode(4)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [35]: <0xb8>bytecodePrimMultiply') | |
+351: i80 = int_mul(101, i72) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [36]: <0xb0>bytecodePrimAdd') | |
+359: i81 = int_add(i78, i80) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [37]: <0x23>pushLiteralConstantBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [38]: <0xbe>bytecodePrimBitAnd') | |
+361: i83 = int_and(i81, 16383) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [39]: <0x27>pushLiteralConstantBytecode(7)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [40]: <0xb8>bytecodePrimMultiply') | |
+367: i85 = int_lshift(i83, 14) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [41]: <0xb0>bytecodePrimAdd') | |
+370: i86 = int_add(i74, i85) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [42]: <0x21>pushLiteralConstantBytecode(1)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [43]: <0xbe>bytecodePrimBitAnd') | |
+372: i88 = int_and(i86, 268435455) | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [44]: <0x6b>storeAndPopTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [45]: <0x15>pushTemporaryVariableBytecode(5)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [46]: <0x76>pushConstantOneBytecode') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [47]: <0xb0>bytecodePrimAdd') | |
+378: i90 = int_add_ovf(i42, 1) | |
guard_no_overflow(descr=<Guard0x12b1ca30>) [p0, i90, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p16, p19, p20, p21, p22, p23, p24, p25, p26, i72, i88, None] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [48]: <0x6d>storeAndPopTemporaryVariableBytecode(5)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [49]: <0xa3>longUnconditionalJumpBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [9]: <0x15>pushTemporaryVariableBytecode(5)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [10]: <0x12>pushTemporaryVariableBytecode(2)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [11]: <0xb4>bytecodePrimLessOrEqual') | |
+387: guard_class(p13, ConstClass(W_SmallInteger), descr=<Guard0x12b1ca00>) [p0, i90, p13, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p19, p20, p21, p22, p23, p24, p25, p26, i72, i88, None] | |
+406: i93 = getfield_gc_pure(p13, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+409: i94 = int_le(i90, i93) | |
guard_false(i94, descr=<Guard0x12b1c9d0>) [p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p19, p20, p21, p22, p23, p24, p25, p26, i90, i72, i88, None] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [12]: <0xac>longJumpIfFalseBytecode(0)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [51]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [52]: <0x7c>returnTopFromMethodBytecode') | |
+417: guard_isnull(p8, descr=<Guard0x12b1c9a0>) [p0, p8, p1, i2, p3, p4, p5, i6, i7, p9, i10, p11, p12, p13, p19, p20, p21, p22, p23, p24, p25, p26, i90, i72, i88, None] | |
+431: i96 = instance_ptr_eq(p4, ConstPtr(ptr95)) | |
guard_false(i96, descr=<Guard0x12b1c970>) [p0, p1, i2, p3, p4, p5, i6, i7, p9, i10, p11, p12, p13, p19, p20, p21, p22, p23, p24, p25, p26, i90, i72, i88, None] | |
+447: leave_portal_frame(0) | |
+447: p98 = force_token() | |
p100 = new_with_vtable(ConstClass(Return)) | |
p102 = new_with_vtable(ConstClass(W_SmallInteger)) | |
+543: setfield_gc(p0, p98, descr=<FieldP spyvm.storage_contexts.ContextPartShadow.vable_token 12>) | |
+546: setfield_gc(p102, i88, descr=<FieldS spyvm.model.W_SmallInteger.inst_value 8>) | |
+555: setfield_gc(p100, p102, descr=<FieldP spyvm.interpreter.Return.inst_value 12>) | |
+564: setfield_gc(p100, ConstPtr(null), descr=<FieldP spyvm.interpreter.Return.inst_s_target_context 8>) | |
+571: setfield_gc(p100, 0, descr=<FieldU spyvm.interpreter.Return.inst_arrived_at_target 16>) | |
+575: setfield_gc(p100, 1, descr=<FieldU spyvm.interpreter.Return.inst_is_local 17>) | |
+579: guard_not_forced_2(descr=<Guard0x12b1c910>) [p1, i2, p3, p4, p5, i6, i7, p9, i10, p11, p12, p13, p102, p19, p20, p21, p22, p23, p24, p25, p26, p0, i90, i72] | |
+604: finish(p100, descr=<ExitFrameWithExceptionDescrRef object at 0x3fa834>) | |
+656: --end of the loop-- | |
[b57860c2111] jit-log-opt-bridge} | |
[b5786841ca4] {jit-log-opt-bridge | |
# bridge out of Guard 0x12b1c9d0 with 112 ops | |
[p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, i22, i23, i24] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [12]: <0xac>longJumpIfFalseBytecode(0)') | |
+29: i25 = getfield_gc_pure(p0, descr=<FieldU spyvm.storage_contexts.ContextPartShadow.inst_is_block_context 73>) | |
+39: guard_false(i25, descr=<Guard0x15c070a0>) [p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, i22, i23, i24] | |
+47: guard_not_invalidated(descr=<Guard0x15c074c0>) [p0, p1, i2, p3, p4, p5, i6, i7, p8, p9, i10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, i22, i23, i24] | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [14]: <0x13>pushTemporaryVariableBytecode(3)') | |
debug_merge_point(0, 0, '(ByteString class >> #stringHash:initialHash:) [15]: <0x10>pushTemporaryVariableBytecode(0)') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment