Skip to content

Instantly share code, notes, and snippets.

@smarr
Created December 26, 2014 22:55
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 smarr/fbce40cb0197e3b2667e to your computer and use it in GitHub Desktop.
Save smarr/fbce40cb0197e3b2667e to your computer and use it in GitHub Desktop.
FieldLoop trace, with new object model
# Loop 2 (FieldLoop>>$blockMethod@30@15 while <WhileMessageNode object at 0x1007672b0>: FieldLoop>>$blockMethod@31@15) : loop with 519 ops
[p0, p1]
+116: label(p0, p1, descr=TargetToken(4302785856))
debug_merge_point(0, 0, 'FieldLoop>>$blockMethod@30@15 while <WhileMessageNode object at 0x1007672b0>: FieldLoop>>$blockMethod@31@15')
+116: i2 = instance_ptr_eq(p1, p0)
guard_true(i2, descr=<Guard0x1030e3440>) [p1, p0]
debug_merge_point(1, 1, 'FieldLoop>>#$blockMethod@30@15')
+136: guard_not_invalidated(descr=<Guard0x1030e33d0>) [p0]
+136: p3 = getfield_gc_pure(p0, descr=<FieldP som.vmobjects.block.Block.inst__outer_tmps 40>)
+147: p5 = getarrayitem_gc(p3, 0, descr=<ArrayP 8>)
+151: guard_class(p5, ConstClass(Integer), descr=<Guard0x1030e3360>) [p0, p5]
+163: i7 = getfield_gc_pure(p5, descr=<FieldS som.vmobjects.integer.Integer.inst__embedded_integer 8>)
+167: i9 = int_gt(i7, 0)
guard_true(i9, descr=<Guard0x1030e32f0>) [p0]
debug_merge_point(1, 2, 'FieldLoop>>#$blockMethod@31@15')
+177: i11 = int_sub(i7, 1)
+181: p12 = getfield_gc_pure(p0, descr=<FieldP som.vmobjects.block.Block.inst__outer_rcvr 32>)
+185: p13 = getfield_gc(p12, descr=<FieldP som.vmobjects.object.Object.inst__object_layout 64>)
+189: i15 = instance_ptr_eq(ConstPtr(ptr14), p13)
guard_true(i15, descr=<Guard0x1030e3210>) [p0, p12, p3, i11]
+208: i16 = getfield_gc(p12, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+212: i18 = int_and(i16, 8)
+219: i19 = int_is_true(i18)
guard_true(i19, descr=<Guard0x1030e3130>) [p0, p12, p3, i11]
+229: i20 = getfield_gc(p12, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+233: i22 = int_add_ovf(i20, 1)
guard_no_overflow(descr=<Guard0x1030e3050>) [p0, p12, i20, i22, p3, i11]
+246: i24 = int_or(i16, 8)
+250: i26 = int_and(i24, 8)
+257: setfield_gc(p12, i22, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+261: setfield_gc(p12, i24, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+265: i27 = int_is_true(i26)
guard_true(i27, descr=<Guard0x1030e2f70>) [p0, p12, p3, i11]
+275: i29 = int_add_ovf(i22, 1)
guard_no_overflow(descr=<Guard0x1030e2e90>) [p0, p12, i22, i29, p3, i11]
+288: i31 = int_or(i24, 8)
+292: i33 = int_and(i31, 8)
+299: setfield_gc(p12, i29, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+303: setfield_gc(p12, i31, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+307: i34 = int_is_true(i33)
guard_true(i34, descr=<Guard0x1030e2db0>) [p0, p12, p3, i11]
+317: i36 = int_add_ovf(i29, 1)
guard_no_overflow(descr=<Guard0x1030e2cd0>) [p0, p12, i29, i36, p3, i11]
+330: i38 = int_or(i31, 8)
+334: i40 = int_and(i38, 8)
+341: setfield_gc(p12, i36, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+345: setfield_gc(p12, i38, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+349: i41 = int_is_true(i40)
guard_true(i41, descr=<Guard0x1030e2bf0>) [p0, p12, p3, i11]
+359: i43 = int_add_ovf(i36, 1)
guard_no_overflow(descr=<Guard0x1030e2b10>) [p0, p12, i36, i43, p3, i11]
+372: i45 = int_or(i38, 8)
+376: i47 = int_and(i45, 8)
+383: setfield_gc(p12, i43, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+387: setfield_gc(p12, i45, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+391: i48 = int_is_true(i47)
guard_true(i48, descr=<Guard0x1030e2a30>) [p0, p12, p3, i11]
+401: i50 = int_add_ovf(i43, 1)
guard_no_overflow(descr=<Guard0x1030e2950>) [p0, p12, i43, i50, p3, i11]
+414: i52 = int_or(i45, 8)
+418: i54 = int_and(i52, 8)
+425: setfield_gc(p12, i50, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+429: setfield_gc(p12, i52, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+433: i55 = int_is_true(i54)
guard_true(i55, descr=<Guard0x1030e2870>) [p0, p12, p3, i11]
+443: i57 = int_add_ovf(i50, 1)
guard_no_overflow(descr=<Guard0x1030e2790>) [p0, p12, i50, i57, p3, i11]
+456: i59 = int_or(i52, 8)
+460: i61 = int_and(i59, 8)
+467: setfield_gc(p12, i57, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+471: setfield_gc(p12, i59, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+475: i62 = int_is_true(i61)
guard_true(i62, descr=<Guard0x1030e26b0>) [p0, p12, p3, i11]
+485: i64 = int_add_ovf(i57, 1)
guard_no_overflow(descr=<Guard0x1030e25d0>) [p0, p12, i57, i64, p3, i11]
+498: i66 = int_or(i59, 8)
+502: i68 = int_and(i66, 8)
+509: setfield_gc(p12, i64, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+513: setfield_gc(p12, i66, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+517: i69 = int_is_true(i68)
guard_true(i69, descr=<Guard0x1030e24f0>) [p0, p12, p3, i11]
+527: i71 = int_add_ovf(i64, 1)
guard_no_overflow(descr=<Guard0x1030e2410>) [p0, p12, i64, i71, p3, i11]
+540: i73 = int_or(i66, 8)
+544: i75 = int_and(i73, 8)
+551: setfield_gc(p12, i71, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+555: setfield_gc(p12, i73, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+559: i76 = int_is_true(i75)
guard_true(i76, descr=<Guard0x1030e2330>) [p0, p12, p3, i11]
+569: i78 = int_add_ovf(i71, 1)
guard_no_overflow(descr=<Guard0x1030e2250>) [p0, p12, i71, i78, p3, i11]
+582: i80 = int_or(i73, 8)
+586: i82 = int_and(i80, 8)
+593: setfield_gc(p12, i78, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+597: setfield_gc(p12, i80, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+601: i83 = int_is_true(i82)
guard_true(i83, descr=<Guard0x1030e2170>) [p0, p12, p3, i11]
+611: i85 = int_add_ovf(i78, 1)
guard_no_overflow(descr=<Guard0x1030e2090>) [p0, p12, i78, i85, p3, i11]
+624: i87 = int_or(i80, 8)
+628: i89 = int_and(i87, 8)
+635: setfield_gc(p12, i85, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+639: setfield_gc(p12, i87, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+643: i90 = int_is_true(i89)
guard_true(i90, descr=<Guard0x1030dff30>) [p0, p12, p3, i11]
+653: i92 = int_add_ovf(i85, 1)
guard_no_overflow(descr=<Guard0x1030dfe50>) [p0, p12, i85, i92, p3, i11]
+666: i94 = int_or(i87, 8)
+670: i96 = int_and(i94, 8)
+677: setfield_gc(p12, i92, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+681: setfield_gc(p12, i94, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+685: i97 = int_is_true(i96)
guard_true(i97, descr=<Guard0x1030dfd70>) [p0, p12, p3, i11]
+695: i99 = int_add_ovf(i92, 1)
guard_no_overflow(descr=<Guard0x1030dfc90>) [p0, p12, i92, i99, p3, i11]
+708: i101 = int_or(i94, 8)
+712: i103 = int_and(i101, 8)
+719: setfield_gc(p12, i99, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+723: setfield_gc(p12, i101, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+727: i104 = int_is_true(i103)
guard_true(i104, descr=<Guard0x1030dfbb0>) [p0, p12, p3, i11]
+737: i106 = int_add_ovf(i99, 1)
guard_no_overflow(descr=<Guard0x1030dfad0>) [p0, p12, i99, i106, p3, i11]
+750: i108 = int_or(i101, 8)
+754: i110 = int_and(i108, 8)
+761: setfield_gc(p12, i106, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+765: setfield_gc(p12, i108, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+769: i111 = int_is_true(i110)
guard_true(i111, descr=<Guard0x1030df9f0>) [p0, p12, p3, i11]
+779: i113 = int_add_ovf(i106, 1)
guard_no_overflow(descr=<Guard0x1030df910>) [p0, p12, i106, i113, p3, i11]
+792: i115 = int_or(i108, 8)
+796: i117 = int_and(i115, 8)
+803: setfield_gc(p12, i113, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+807: setfield_gc(p12, i115, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+811: i118 = int_is_true(i117)
guard_true(i118, descr=<Guard0x1030df830>) [p0, p12, p3, i11]
+821: i120 = int_add_ovf(i113, 1)
guard_no_overflow(descr=<Guard0x1030df750>) [p0, p12, i113, i120, p3, i11]
+834: i122 = int_or(i115, 8)
+838: i124 = int_and(i122, 8)
+845: setfield_gc(p12, i120, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+849: setfield_gc(p12, i122, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+853: i125 = int_is_true(i124)
guard_true(i125, descr=<Guard0x1030df670>) [p0, p12, p3, i11]
+863: i127 = int_add_ovf(i120, 1)
guard_no_overflow(descr=<Guard0x1030df590>) [p0, p12, i120, i127, p3, i11]
+876: i129 = int_or(i122, 8)
+880: i131 = int_and(i129, 8)
+887: setfield_gc(p12, i127, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+891: setfield_gc(p12, i129, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+895: i132 = int_is_true(i131)
guard_true(i132, descr=<Guard0x1030df4b0>) [p0, p12, p3, i11]
+905: i134 = int_add_ovf(i127, 1)
guard_no_overflow(descr=<Guard0x1030df3d0>) [p0, p12, i127, i134, p3, i11]
+918: i136 = int_or(i129, 8)
+922: i138 = int_and(i136, 8)
+929: setfield_gc(p12, i134, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+933: setfield_gc(p12, i136, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+937: i139 = int_is_true(i138)
guard_true(i139, descr=<Guard0x1030df2f0>) [p0, p12, p3, i11]
+947: i141 = int_add_ovf(i134, 1)
guard_no_overflow(descr=<Guard0x1030df210>) [p0, p12, i134, i141, p3, i11]
+960: i143 = int_or(i136, 8)
+964: i145 = int_and(i143, 8)
+971: setfield_gc(p12, i141, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+975: setfield_gc(p12, i143, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+979: i146 = int_is_true(i145)
guard_true(i146, descr=<Guard0x1030df130>) [p0, p12, p3, i11]
+989: i148 = int_add_ovf(i141, 1)
guard_no_overflow(descr=<Guard0x1030df050>) [p0, p12, i141, i148, p3, i11]
+1002: i150 = int_or(i143, 8)
+1006: i152 = int_and(i150, 8)
+1013: setfield_gc(p12, i148, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1017: setfield_gc(p12, i150, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1021: i153 = int_is_true(i152)
guard_true(i153, descr=<Guard0x1030def70>) [p0, p12, p3, i11]
+1031: i155 = int_add_ovf(i148, 1)
guard_no_overflow(descr=<Guard0x1030dee90>) [p0, p12, i148, i155, p3, i11]
+1044: i157 = int_or(i150, 8)
+1048: i159 = int_and(i157, 8)
+1055: setfield_gc(p12, i155, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1059: setfield_gc(p12, i157, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1063: i160 = int_is_true(i159)
guard_true(i160, descr=<Guard0x1030dedb0>) [p0, p12, p3, i11]
+1073: i162 = int_add_ovf(i155, 1)
guard_no_overflow(descr=<Guard0x1030decd0>) [p0, p12, i155, i162, p3, i11]
+1086: i164 = int_or(i157, 8)
+1090: i166 = int_and(i164, 8)
+1097: setfield_gc(p12, i162, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1101: setfield_gc(p12, i164, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1105: i167 = int_is_true(i166)
guard_true(i167, descr=<Guard0x1030debf0>) [p0, p12, p3, i11]
+1115: i169 = int_add_ovf(i162, 1)
guard_no_overflow(descr=<Guard0x1030deb10>) [p0, p12, i162, i169, p3, i11]
+1128: i171 = int_or(i164, 8)
+1132: i173 = int_and(i171, 8)
+1139: setfield_gc(p12, i169, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1143: setfield_gc(p12, i171, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1147: i174 = int_is_true(i173)
guard_true(i174, descr=<Guard0x1030dea30>) [p0, p12, p3, i11]
+1157: i176 = int_add_ovf(i169, 1)
guard_no_overflow(descr=<Guard0x1030de950>) [p0, p12, i169, i176, p3, i11]
+1170: i178 = int_or(i171, 8)
+1174: i180 = int_and(i178, 8)
+1181: setfield_gc(p12, i176, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1185: setfield_gc(p12, i178, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1189: i181 = int_is_true(i180)
guard_true(i181, descr=<Guard0x1030de870>) [p0, p12, p3, i11]
+1199: i183 = int_add_ovf(i176, 1)
guard_no_overflow(descr=<Guard0x1030de790>) [p0, p12, i176, i183, p3, i11]
+1212: i185 = int_or(i178, 8)
+1216: i187 = int_and(i185, 8)
+1223: setfield_gc(p12, i183, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1227: setfield_gc(p12, i185, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1231: i188 = int_is_true(i187)
guard_true(i188, descr=<Guard0x1030de6b0>) [p0, p12, p3, i11]
+1241: i190 = int_add_ovf(i183, 1)
guard_no_overflow(descr=<Guard0x1030de5d0>) [p0, p12, i183, i190, p3, i11]
+1254: i192 = int_or(i185, 8)
+1258: i194 = int_and(i192, 8)
+1265: setfield_gc(p12, i190, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1269: setfield_gc(p12, i192, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1273: i195 = int_is_true(i194)
guard_true(i195, descr=<Guard0x1030de4f0>) [p0, p12, p3, i11]
+1283: i197 = int_add_ovf(i190, 1)
guard_no_overflow(descr=<Guard0x1030de410>) [p0, p12, i190, i197, p3, i11]
+1296: i199 = int_or(i192, 8)
+1300: i201 = int_and(i199, 8)
+1307: setfield_gc(p12, i197, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1311: setfield_gc(p12, i199, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1315: i202 = int_is_true(i201)
guard_true(i202, descr=<Guard0x1030de330>) [p0, p12, p3, i11]
+1325: i204 = int_add_ovf(i197, 1)
guard_no_overflow(descr=<Guard0x1030de250>) [p0, p12, i197, i204, p3, i11]
+1338: i206 = int_or(i199, 8)
+1342: i208 = int_and(i206, 8)
+1349: setfield_gc(p12, i204, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1353: setfield_gc(p12, i206, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1357: i209 = int_is_true(i208)
guard_true(i209, descr=<Guard0x1030de170>) [p0, p12, p3, i11]
+1367: i211 = int_add_ovf(i204, 1)
guard_no_overflow(descr=<Guard0x1030de090>) [p0, p12, i204, i211, p3, i11]
+1380: i213 = int_or(i206, 8)
+1384: i215 = int_and(i213, 8)
+1391: setfield_gc(p12, i211, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1395: setfield_gc(p12, i213, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1399: i216 = int_is_true(i215)
guard_true(i216, descr=<Guard0x10307bf30>) [p0, p12, p3, i11]
+1409: i218 = int_add_ovf(i211, 1)
guard_no_overflow(descr=<Guard0x10307be50>) [p0, p12, i211, i218, p3, i11]
+1422: i220 = int_or(i213, 8)
+1426: i222 = int_and(i220, 8)
+1433: setfield_gc(p12, i218, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1437: setfield_gc(p12, i220, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1441: i223 = int_is_true(i222)
guard_true(i223, descr=<Guard0x10307bd70>) [p0, p12, p3, i11]
+1451: i225 = int_add_ovf(i218, 1)
guard_no_overflow(descr=<Guard0x10307bd00>) [p0, p12, i218, i225, p3, i11]
+1464: i227 = int_or(i220, 8)
debug_merge_point(0, 0, 'FieldLoop>>$blockMethod@30@15 while <WhileMessageNode object at 0x1007672b0>: FieldLoop>>$blockMethod@31@15')
p229 = new_with_vtable(ConstClass(Integer))
+1554: setfield_gc(p229, i11, descr=<FieldS som.vmobjects.integer.Integer.inst__embedded_integer 8>)
+1593: setarrayitem_gc(p3, 0, p229, descr=<ArrayP 8>)
+1597: setfield_gc(p12, i225, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1601: setfield_gc(p12, i227, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1605: label(p0, p229, i227, p12, p3, i225, descr=TargetToken(4302785936))
debug_merge_point(0, 0, 'FieldLoop>>$blockMethod@30@15 while <WhileMessageNode object at 0x1007672b0>: FieldLoop>>$blockMethod@31@15')
debug_merge_point(1, 1, 'FieldLoop>>#$blockMethod@30@15')
+1605: guard_not_invalidated(descr=<Guard0x103118020>) [p0]
+1605: i231 = getfield_gc_pure(p229, descr=<FieldS som.vmobjects.integer.Integer.inst__embedded_integer 8>)
+1609: i233 = int_gt(i231, 0)
guard_true(i233, descr=<Guard0x1031137c0>) [p0]
debug_merge_point(1, 2, 'FieldLoop>>#$blockMethod@31@15')
+1619: i235 = int_sub(i231, 1)
+1623: i237 = int_and(i227, 8)
+1630: i238 = int_is_true(i237)
guard_true(i238, descr=<Guard0x1031122c0>) [p0, p12, p3, i235]
+1640: i240 = int_add_ovf(i225, 1)
guard_no_overflow(descr=<Guard0x10310dd00>) [p0, p12, i225, i240, p3, i235]
+1653: i242 = int_or(i227, 8)
+1657: i244 = int_and(i242, 8)
+1664: setfield_gc(p12, i240, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1668: setfield_gc(p12, i242, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1672: i245 = int_is_true(i244)
guard_true(i245, descr=<Guard0x10310d1a0>) [p0, p12, p3, i235]
+1682: i247 = int_add_ovf(i240, 1)
guard_no_overflow(descr=<Guard0x10310cc60>) [p0, p12, i240, i247, p3, i235]
+1695: i249 = int_or(i242, 8)
+1699: i251 = int_and(i249, 8)
+1706: setfield_gc(p12, i247, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1710: setfield_gc(p12, i249, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1714: i252 = int_is_true(i251)
guard_true(i252, descr=<Guard0x10310c100>) [p0, p12, p3, i235]
+1724: i254 = int_add_ovf(i247, 1)
guard_no_overflow(descr=<Guard0x10310bb40>) [p0, p12, i247, i254, p3, i235]
+1737: i256 = int_or(i249, 8)
+1741: i258 = int_and(i256, 8)
+1748: setfield_gc(p12, i254, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1752: setfield_gc(p12, i256, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1756: i259 = int_is_true(i258)
guard_true(i259, descr=<Guard0x10310afe0>) [p0, p12, p3, i235]
+1766: i261 = int_add_ovf(i254, 1)
guard_no_overflow(descr=<Guard0x10310aaa0>) [p0, p12, i254, i261, p3, i235]
+1779: i263 = int_or(i256, 8)
+1783: i265 = int_and(i263, 8)
+1790: setfield_gc(p12, i261, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1794: setfield_gc(p12, i263, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1798: i266 = int_is_true(i265)
guard_true(i266, descr=<Guard0x103103ec0>) [p0, p12, p3, i235]
+1808: i268 = int_add_ovf(i261, 1)
guard_no_overflow(descr=<Guard0x103103980>) [p0, p12, i261, i268, p3, i235]
+1821: i270 = int_or(i263, 8)
+1825: i272 = int_and(i270, 8)
+1832: setfield_gc(p12, i268, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1836: setfield_gc(p12, i270, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1840: i273 = int_is_true(i272)
guard_true(i273, descr=<Guard0x103102e20>) [p0, p12, p3, i235]
+1850: i275 = int_add_ovf(i268, 1)
guard_no_overflow(descr=<Guard0x1031028e0>) [p0, p12, i268, i275, p3, i235]
+1863: i277 = int_or(i270, 8)
+1867: i279 = int_and(i277, 8)
+1874: setfield_gc(p12, i275, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1878: setfield_gc(p12, i277, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1882: i280 = int_is_true(i279)
guard_true(i280, descr=<Guard0x103101d00>) [p0, p12, p3, i235]
+1892: i282 = int_add_ovf(i275, 1)
guard_no_overflow(descr=<Guard0x1031017c0>) [p0, p12, i275, i282, p3, i235]
+1905: i284 = int_or(i277, 8)
+1909: i286 = int_and(i284, 8)
+1916: setfield_gc(p12, i282, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1920: setfield_gc(p12, i284, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1924: i287 = int_is_true(i286)
guard_true(i287, descr=<Guard0x103100c60>) [p0, p12, p3, i235]
+1934: i289 = int_add_ovf(i282, 1)
guard_no_overflow(descr=<Guard0x103100720>) [p0, p12, i282, i289, p3, i235]
+1947: i291 = int_or(i284, 8)
+1951: i293 = int_and(i291, 8)
+1958: setfield_gc(p12, i289, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+1962: setfield_gc(p12, i291, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+1966: i294 = int_is_true(i293)
guard_true(i294, descr=<Guard0x1030f9b40>) [p0, p12, p3, i235]
+1976: i296 = int_add_ovf(i289, 1)
guard_no_overflow(descr=<Guard0x1030f9600>) [p0, p12, i289, i296, p3, i235]
+1989: i298 = int_or(i291, 8)
+1993: i300 = int_and(i298, 8)
+2000: setfield_gc(p12, i296, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2004: setfield_gc(p12, i298, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2008: i301 = int_is_true(i300)
guard_true(i301, descr=<Guard0x1030f8aa0>) [p0, p12, p3, i235]
+2018: i303 = int_add_ovf(i296, 1)
guard_no_overflow(descr=<Guard0x1030f8560>) [p0, p12, i296, i303, p3, i235]
+2031: i305 = int_or(i298, 8)
+2035: i307 = int_and(i305, 8)
+2042: setfield_gc(p12, i303, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2046: setfield_gc(p12, i305, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2050: i308 = int_is_true(i307)
guard_true(i308, descr=<Guard0x1030f7980>) [p0, p12, p3, i235]
+2060: i310 = int_add_ovf(i303, 1)
guard_no_overflow(descr=<Guard0x1030f7440>) [p0, p12, i303, i310, p3, i235]
+2073: i312 = int_or(i305, 8)
+2077: i314 = int_and(i312, 8)
+2084: setfield_gc(p12, i310, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2088: setfield_gc(p12, i312, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2092: i315 = int_is_true(i314)
guard_true(i315, descr=<Guard0x1030f68e0>) [p0, p12, p3, i235]
+2102: i317 = int_add_ovf(i310, 1)
guard_no_overflow(descr=<Guard0x1030f63a0>) [p0, p12, i310, i317, p3, i235]
+2115: i319 = int_or(i312, 8)
+2119: i321 = int_and(i319, 8)
+2126: setfield_gc(p12, i317, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2130: setfield_gc(p12, i319, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2134: i322 = int_is_true(i321)
guard_true(i322, descr=<Guard0x1030e37c0>) [p0, p12, p3, i235]
+2144: i324 = int_add_ovf(i317, 1)
guard_no_overflow(descr=<Guard0x10312d670>) [p0, p12, i317, i324, p3, i235]
+2157: i326 = int_or(i319, 8)
+2161: i328 = int_and(i326, 8)
+2168: setfield_gc(p12, i324, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2172: setfield_gc(p12, i326, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2176: i329 = int_is_true(i328)
guard_true(i329, descr=<Guard0x1031553d0>) [p0, p12, p3, i235]
+2186: i331 = int_add_ovf(i324, 1)
guard_no_overflow(descr=<Guard0x1031552f0>) [p0, p12, i324, i331, p3, i235]
+2199: i333 = int_or(i326, 8)
+2203: i335 = int_and(i333, 8)
+2210: setfield_gc(p12, i331, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2214: setfield_gc(p12, i333, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2218: i336 = int_is_true(i335)
guard_true(i336, descr=<Guard0x103155210>) [p0, p12, p3, i235]
+2228: i338 = int_add_ovf(i331, 1)
guard_no_overflow(descr=<Guard0x103155130>) [p0, p12, i331, i338, p3, i235]
+2241: i340 = int_or(i333, 8)
+2245: i342 = int_and(i340, 8)
+2252: setfield_gc(p12, i338, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2256: setfield_gc(p12, i340, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2260: i343 = int_is_true(i342)
guard_true(i343, descr=<Guard0x103155050>) [p0, p12, p3, i235]
+2270: i345 = int_add_ovf(i338, 1)
guard_no_overflow(descr=<Guard0x103154f70>) [p0, p12, i338, i345, p3, i235]
+2283: i347 = int_or(i340, 8)
+2287: i349 = int_and(i347, 8)
+2294: setfield_gc(p12, i345, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2298: setfield_gc(p12, i347, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2302: i350 = int_is_true(i349)
guard_true(i350, descr=<Guard0x103154e90>) [p0, p12, p3, i235]
+2312: i352 = int_add_ovf(i345, 1)
guard_no_overflow(descr=<Guard0x103154db0>) [p0, p12, i345, i352, p3, i235]
+2325: i354 = int_or(i347, 8)
+2329: i356 = int_and(i354, 8)
+2336: setfield_gc(p12, i352, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2340: setfield_gc(p12, i354, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2344: i357 = int_is_true(i356)
guard_true(i357, descr=<Guard0x103154cd0>) [p0, p12, p3, i235]
+2354: i359 = int_add_ovf(i352, 1)
guard_no_overflow(descr=<Guard0x103154bf0>) [p0, p12, i352, i359, p3, i235]
+2367: i361 = int_or(i354, 8)
+2371: i363 = int_and(i361, 8)
+2378: setfield_gc(p12, i359, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2382: setfield_gc(p12, i361, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2386: i364 = int_is_true(i363)
guard_true(i364, descr=<Guard0x103154b10>) [p0, p12, p3, i235]
+2396: i366 = int_add_ovf(i359, 1)
guard_no_overflow(descr=<Guard0x103154a30>) [p0, p12, i359, i366, p3, i235]
+2409: i368 = int_or(i361, 8)
+2413: i370 = int_and(i368, 8)
+2420: setfield_gc(p12, i366, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2424: setfield_gc(p12, i368, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2428: i371 = int_is_true(i370)
guard_true(i371, descr=<Guard0x103154950>) [p0, p12, p3, i235]
+2438: i373 = int_add_ovf(i366, 1)
guard_no_overflow(descr=<Guard0x103154870>) [p0, p12, i366, i373, p3, i235]
+2451: i375 = int_or(i368, 8)
+2455: i377 = int_and(i375, 8)
+2462: setfield_gc(p12, i373, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2466: setfield_gc(p12, i375, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2470: i378 = int_is_true(i377)
guard_true(i378, descr=<Guard0x103154790>) [p0, p12, p3, i235]
+2480: i380 = int_add_ovf(i373, 1)
guard_no_overflow(descr=<Guard0x1031546b0>) [p0, p12, i373, i380, p3, i235]
+2493: i382 = int_or(i375, 8)
+2497: i384 = int_and(i382, 8)
+2504: setfield_gc(p12, i380, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2508: setfield_gc(p12, i382, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2512: i385 = int_is_true(i384)
guard_true(i385, descr=<Guard0x1031545d0>) [p0, p12, p3, i235]
+2522: i387 = int_add_ovf(i380, 1)
guard_no_overflow(descr=<Guard0x1031544f0>) [p0, p12, i380, i387, p3, i235]
+2535: i389 = int_or(i382, 8)
+2539: i391 = int_and(i389, 8)
+2546: setfield_gc(p12, i387, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2550: setfield_gc(p12, i389, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2554: i392 = int_is_true(i391)
guard_true(i392, descr=<Guard0x103154410>) [p0, p12, p3, i235]
+2564: i394 = int_add_ovf(i387, 1)
guard_no_overflow(descr=<Guard0x103154330>) [p0, p12, i387, i394, p3, i235]
+2577: i396 = int_or(i389, 8)
+2581: i398 = int_and(i396, 8)
+2588: setfield_gc(p12, i394, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2592: setfield_gc(p12, i396, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2596: i399 = int_is_true(i398)
guard_true(i399, descr=<Guard0x103154250>) [p0, p12, p3, i235]
+2606: i401 = int_add_ovf(i394, 1)
guard_no_overflow(descr=<Guard0x103154170>) [p0, p12, i394, i401, p3, i235]
+2619: i403 = int_or(i396, 8)
+2623: i405 = int_and(i403, 8)
+2630: setfield_gc(p12, i401, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2634: setfield_gc(p12, i403, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2638: i406 = int_is_true(i405)
guard_true(i406, descr=<Guard0x103154090>) [p0, p12, p3, i235]
+2648: i408 = int_add_ovf(i401, 1)
guard_no_overflow(descr=<Guard0x10312df30>) [p0, p12, i401, i408, p3, i235]
+2661: i410 = int_or(i403, 8)
+2665: i412 = int_and(i410, 8)
+2672: setfield_gc(p12, i408, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2676: setfield_gc(p12, i410, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2680: i413 = int_is_true(i412)
guard_true(i413, descr=<Guard0x10312de50>) [p0, p12, p3, i235]
+2690: i415 = int_add_ovf(i408, 1)
guard_no_overflow(descr=<Guard0x10312dd70>) [p0, p12, i408, i415, p3, i235]
+2703: i417 = int_or(i410, 8)
+2707: i419 = int_and(i417, 8)
+2714: setfield_gc(p12, i415, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2718: setfield_gc(p12, i417, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2722: i420 = int_is_true(i419)
guard_true(i420, descr=<Guard0x10312dc90>) [p0, p12, p3, i235]
+2732: i422 = int_add_ovf(i415, 1)
guard_no_overflow(descr=<Guard0x10312dbb0>) [p0, p12, i415, i422, p3, i235]
+2745: i424 = int_or(i417, 8)
+2749: i426 = int_and(i424, 8)
+2756: setfield_gc(p12, i422, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2760: setfield_gc(p12, i424, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2764: i427 = int_is_true(i426)
guard_true(i427, descr=<Guard0x10312dad0>) [p0, p12, p3, i235]
+2774: i429 = int_add_ovf(i422, 1)
guard_no_overflow(descr=<Guard0x10312d9f0>) [p0, p12, i422, i429, p3, i235]
+2787: i431 = int_or(i424, 8)
+2791: i433 = int_and(i431, 8)
+2798: setfield_gc(p12, i429, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2802: setfield_gc(p12, i431, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2806: i434 = int_is_true(i433)
guard_true(i434, descr=<Guard0x10312d910>) [p0, p12, p3, i235]
+2816: i436 = int_add_ovf(i429, 1)
guard_no_overflow(descr=<Guard0x10312d830>) [p0, p12, i429, i436, p3, i235]
+2829: i438 = int_or(i431, 8)
+2833: i440 = int_and(i438, 8)
+2840: setfield_gc(p12, i436, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+2844: setfield_gc(p12, i438, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+2848: i441 = int_is_true(i440)
guard_true(i441, descr=<Guard0x10312d750>) [p0, p12, p3, i235]
+2858: i443 = int_add_ovf(i436, 1)
guard_no_overflow(descr=<Guard0x10312d6e0>) [p0, p12, i436, i443, p3, i235]
+2871: i445 = int_or(i438, 8)
debug_merge_point(0, 0, 'FieldLoop>>$blockMethod@30@15 while <WhileMessageNode object at 0x1007672b0>: FieldLoop>>$blockMethod@31@15')
p446 = new_with_vtable(ConstClass(Integer))
+2961: setfield_gc(p446, i235, descr=<FieldS som.vmobjects.integer.Integer.inst__embedded_integer 8>)
+3000: setarrayitem_gc(p3, 0, p446, descr=<ArrayP 8>)
+3004: setfield_gc(p12, i443, descr=<FieldS som.vmobjects.object.Object.inst__primField4 96>)
+3008: setfield_gc(p12, i445, descr=<FieldS som.vmobjects.object.Object.inst__primitive_used_map 120>)
+3012: i447 = arraylen_gc(p3, descr=<ArrayP 8>)
+3012: jump(p0, p446, i445, p12, p3, i443, descr=TargetToken(4302785936))
+3017: --end of the loop--
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment