Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.39 KB | None | 0 0
  1. ; ModuleID = './cache/macosx/x86/debug/Users/badlogic/workspaces/robovm/robovm-debug/server/target/test-classes/com/robovm/debug/server/apps/InfiniteLoop.class.bc'
  2.  
  3. %Class = type { i8*, i8*, i8*, i8*, %TypeInfo*, %VITable*, %ITables*, i8*, i8*, i8*, i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, i32, i32, i32, i16, i16 }
  4. %TypeInfo = type { i32, i32, i32, i32, i32, [0 x i32] }
  5. %VITable = type { i16, [0 x i8*] }
  6. %ITables = type { i16, %ITable*, [0 x %ITable*] }
  7. %ITable = type { %TypeInfo*, %VITable }
  8. %Object = type { %Class*, i8* }
  9. %DataObject = type { %Object }
  10. %Env = type { i8*, i8*, i8*, %Thread*, i8*, i8*, %GatewayFrame*, i8*, i32 }
  11. %Thread = type { i32 }
  12. %GatewayFrame = type { i8*, i8*, i8* }
  13. %TrycatchContext = type { i8*, i32, i8*, i8*, i8*, i8*, i8*, i8*, i32, i16 }
  14.  
  15. @prim_Z = external global %Class*
  16. @prim_B = external global %Class*
  17. @prim_C = external global %Class*
  18. @prim_S = external global %Class*
  19. @prim_I = external global %Class*
  20. @prim_J = external global %Class*
  21. @prim_F = external global %Class*
  22. @prim_D = external global %Class*
  23. @array_Z = external global %Class*
  24. @array_B = external global %Class*
  25. @array_C = external global %Class*
  26. @array_S = external global %Class*
  27. @array_I = external global %Class*
  28. @array_J = external global %Class*
  29. @array_F = external global %Class*
  30. @array_D = external global %Class*
  31. @robovm.emitSpFpOffsets = external global i8*
  32. @str_InfiniteLoop_2Ejava_00 = weak constant [18 x i8] c"InfiniteLoop.java\00"
  33. @"[j]com.robovm.debug.server.apps.InfiniteLoop[cattributes]" = constant <{ i32, <{ i8, i8* }> }> <{ i32 1, <{ i8, i8* }> <{ i8 1, i8* getelementptr inbounds ([18 x i8]* @str_InfiniteLoop_2Ejava_00, i32 0, i32 0) }> }>
  34. @str_java_2Flang_2FInterruptedException_00 = weak constant [31 x i8] c"java/lang/InterruptedException\00"
  35. @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[mattributes]" = constant <{ i32, <{ i8, i32, [1 x i8*] }> }> <{ i32 1, <{ i8, i32, [1 x i8*] }> <{ i8 5, i32 1, [1 x i8*] [i8* getelementptr inbounds ([31 x i8]* @str_java_2Flang_2FInterruptedException_00, i32 0, i32 0)] }> }>
  36. @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V[bptable]" = internal global [1 x i8] zeroinitializer
  37. @str__2C_20_00_ptr = weak global %Object* null
  38. @str__2C_20_00 = weak constant [3 x i8] c", \00"
  39. @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]" = internal global [2 x i8] zeroinitializer
  40. @str_com_2Frobovm_2Fdebug_2Fserver_2Fapps_2FInfiniteLoop_00 = weak constant [42 x i8] c"com/robovm/debug/server/apps/InfiniteLoop\00"
  41. @"[j]com.robovm.debug.server.apps.InfiniteLoop[typeinfo]" = external constant i8*
  42. @"[j]com.robovm.debug.server.apps.InfiniteLoop[vtable]" = private constant { i16, [11 x i8*] } { i16 11, [11 x i8*] [i8* bitcast (%Object* (%Env*, %Object*)* @"[J]java.lang.Object.clone()Ljava/lang/Object;" to i8*), i8* bitcast (i8 (%Env*, %Object*, %Object*)* @"[J]java.lang.Object.equals(Ljava/lang/Object;)Z" to i8*), i8* bitcast (void (%Env*, %Object*)* @"[J]java.lang.Object.finalize()V" to i8*), i8* bitcast (%Object* (%Env*, %Object*)* @"[J]java.lang.Object.getClass()Ljava/lang/Class;" to i8*), i8* bitcast (i32 (%Env*, %Object*)* @"[J]java.lang.Object.hashCode()I" to i8*), i8* bitcast (void (%Env*, %Object*)* @"[J]java.lang.Object.notify()V" to i8*), i8* bitcast (void (%Env*, %Object*)* @"[J]java.lang.Object.notifyAll()V" to i8*), i8* bitcast (%Object* (%Env*, %Object*)* @"[J]java.lang.Object.toString()Ljava/lang/String;" to i8*), i8* bitcast (void (%Env*, %Object*)* @"[J]java.lang.Object.wait()V" to i8*), i8* bitcast (void (%Env*, %Object*, i64)* @"[J]java.lang.Object.wait(J)V" to i8*), i8* bitcast (void (%Env*, %Object*, i64, i32)* @"[J]java.lang.Object.wait(JI)V" to i8*)] }
  43. @str_java_2Flang_2FObject_00 = weak constant [17 x i8] c"java/lang/Object\00"
  44. @str__3Cinit_3E_00 = weak constant [7 x i8] c"<init>\00"
  45. @"[j]com.robovm.debug.server.apps.InfiniteLoop.<init>()V[linetable]" = weak global i32 -1
  46. @str_main_00 = weak constant [5 x i8] c"main\00"
  47. @str__28_5BLjava_2Flang_2FString_3B_29V_00 = weak constant [23 x i8] c"([Ljava/lang/String;)V\00"
  48. @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[linetable]" = weak global i32 -1
  49. @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]" = weak global { { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> } { { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 } { i8* null, i32 129, i8* getelementptr inbounds ([42 x i8]* @str_com_2Frobovm_2Fdebug_2Fserver_2Fapps_2FInfiniteLoop_00, i32 0, i32 0), i8* null, i8** @"[j]com.robovm.debug.server.apps.InfiniteLoop[typeinfo]", i8* bitcast ({ i16, [11 x i8*] }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[vtable]" to i8*), i8* null, i32 ptrtoint ({ %Class, {} }* getelementptr ({ %Class, {} }* null, i32 1) to i32), i32 ptrtoint ({ %DataObject, <{ <{}> }> }* getelementptr ({ %DataObject, <{ <{}> }> }* null, i32 1) to i32), i32 ptrtoint ({ %DataObject, <{ <{}> }> }* getelementptr ({ %DataObject, <{ <{}> }> }* null, i32 1) to i32), i16 0, i16 0 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> <{ i16 0, i16 0, i16 2, i8* getelementptr inbounds ([17 x i8]* @str_java_2Flang_2FObject_00, i32 0, i32 0), i8* bitcast (<{ i32, <{ i8, i8* }> }>* @"[j]com.robovm.debug.server.apps.InfiniteLoop[cattributes]" to i8*), i16 16385, i16 -1, i8* getelementptr inbounds ([7 x i8]* @str__3Cinit_3E_00, i32 0, i32 0), i8 9, i8* bitcast (void (%Env*, %Object*)* @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V" to i8*), i32 28036591, i32* @"[j]com.robovm.debug.server.apps.InfiniteLoop.<init>()V[linetable]", i16 2053, i16 -1, i8* getelementptr inbounds ([5 x i8]* @str_main_00, i32 0, i32 0), i8* getelementptr inbounds ([23 x i8]* @str__28_5BLjava_2Flang_2FString_3B_29V_00, i32 0, i32 0), i8* bitcast (<{ i32, <{ i8, i32, [1 x i8*] }> }>* @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[mattributes]" to i8*), i8* bitcast (void (%Env*, %Object*)* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V" to i8*), i32 28036591, i32* @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[linetable]" }> }
  50.  
  51. ; Function Attrs: alwaysinline
  52. define private i8* @getpc() #0 {
  53. %1 = tail call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  54. ret i8* %1
  55. }
  56.  
  57. ; Function Attrs: alwaysinline
  58. define private i1 @atomic_cas(i32 %old, i32 %new, i32* %ptr) #0 {
  59. %1 = cmpxchg i32* %ptr, i32 %old, i32 %new seq_cst seq_cst
  60. %2 = extractvalue { i32, i1 } %1, 0
  61. %3 = icmp eq i32 %2, %old
  62. ret i1 %3
  63. }
  64.  
  65. declare void @_bcInitializeClass(%Env*, i8**)
  66.  
  67. declare %Object* @_bcAllocate(%Env*, i8**)
  68.  
  69. declare %Object* @_bcLdcArrayBootClass(%Env*, %Object**, i8*)
  70.  
  71. declare %Object* @_bcLdcArrayClass(%Env*, %Object**, i8*)
  72.  
  73. declare %Object* @_bcLdcClass(%Env*, i8**)
  74.  
  75. declare %Object* @_bcNewObjectArray(%Env*, i32, %Object*)
  76.  
  77. declare %Object* @_bcCheckcast(%Env*, i8**, %Object*)
  78.  
  79. declare %Object* @_bcCheckcastArray(%Env*, %Object*, %Object*)
  80.  
  81. declare i32 @_bcInstanceof(%Env*, i8**, %Object*)
  82.  
  83. declare i32 @_bcInstanceofArray(%Env*, %Object*, %Object*)
  84.  
  85. declare void @_bcRegisterFinalizer(%Env*, %Object*)
  86.  
  87. declare i8* @_bcLookupVirtualMethod(%Env*, %Object*, i8*, i8*)
  88.  
  89. declare i8* @_bcLookupInterfaceMethod(%Env*, i8**, %Object*, i8*, i8*)
  90.  
  91. declare i8* @_bcLookupInterfaceMethodImpl(%Env*, i8**, %Object*, i32)
  92.  
  93. declare void @_bcAbstractMethodCalled(%Env*, %Object*)
  94.  
  95. declare void @_bcNonPublicMethodCalled(%Env*, %Object*)
  96.  
  97. declare void @_bcMoveMemory16(i8*, i8*, i64)
  98.  
  99. declare void @_bcMoveMemory32(i8*, i8*, i64)
  100.  
  101. ; Function Attrs: noreturn
  102. declare void @_bcThrow(%Env*, %Object*) #1
  103.  
  104. declare void @_bcThrowIfExceptionOccurred(%Env*)
  105.  
  106. declare %Object* @_bcExceptionClear(%Env*)
  107.  
  108. ; Function Attrs: returns_twice
  109. declare i32 @rvmTrycatchEnter(%Env*, %TrycatchContext*) #2
  110.  
  111. declare void @_bcTrycatchLeave(%Env*)
  112.  
  113. ; Function Attrs: noreturn
  114. declare void @_bcThrowNullPointerException(%Env*) #1
  115.  
  116. ; Function Attrs: noreturn
  117. declare void @_bcThrowArrayIndexOutOfBoundsException(%Env*, i32, i32) #1
  118.  
  119. ; Function Attrs: noreturn
  120. declare void @_bcThrowArithmeticException(%Env*) #1
  121.  
  122. ; Function Attrs: noreturn
  123. declare void @_bcThrowUnsatisfiedLinkError(%Env*, i8*) #1
  124.  
  125. ; Function Attrs: noreturn
  126. declare void @_bcThrowNoClassDefFoundError(%Env*, i8*) #1
  127.  
  128. ; Function Attrs: noreturn
  129. declare void @_bcThrowNoSuchFieldError(%Env*, i8*) #1
  130.  
  131. ; Function Attrs: noreturn
  132. declare void @_bcThrowNoSuchMethodError(%Env*, i8*) #1
  133.  
  134. ; Function Attrs: noreturn
  135. declare void @_bcThrowIllegalAccessError(%Env*, i8*) #1
  136.  
  137. ; Function Attrs: noreturn
  138. declare void @_bcThrowInstantiationError(%Env*, i8*) #1
  139.  
  140. ; Function Attrs: noreturn
  141. declare void @_bcThrowIncompatibleClassChangeError(%Env*, i8*) #1
  142.  
  143. ; Function Attrs: noreturn
  144. declare void @_bcThrowAbstractMethodError(%Env*, i8*) #1
  145.  
  146. ; Function Attrs: noreturn
  147. declare void @_bcThrowClassCastException(%Env*, i8**, %Object*) #1
  148.  
  149. ; Function Attrs: noreturn
  150. declare void @_bcThrowClassCastExceptionArray(%Env*, %Class*, %Object*) #1
  151.  
  152. declare %Object* @_bcNew(%Env*, i8*)
  153.  
  154. declare %Object* @_bcNewBooleanArray(%Env*, i32)
  155.  
  156. declare %Object* @_bcNewByteArray(%Env*, i32)
  157.  
  158. declare %Object* @_bcNewCharArray(%Env*, i32)
  159.  
  160. declare %Object* @_bcNewShortArray(%Env*, i32)
  161.  
  162. declare %Object* @_bcNewIntArray(%Env*, i32)
  163.  
  164. declare %Object* @_bcNewLongArray(%Env*, i32)
  165.  
  166. declare %Object* @_bcNewFloatArray(%Env*, i32)
  167.  
  168. declare %Object* @_bcNewDoubleArray(%Env*, i32)
  169.  
  170. declare %Object* @_bcNewMultiArray(%Env*, i32, i32*, %Object*)
  171.  
  172. declare void @_bcSetObjectArrayElement(%Env*, %Object*, i32, %Object*)
  173.  
  174. declare %Object* @_bcLdcString(%Env*, %Object**, i8*, i32)
  175.  
  176. declare void @_bcMonitorEnter(%Env*, %Object*)
  177.  
  178. declare void @_bcMonitorExit(%Env*, %Object*)
  179.  
  180. declare i8* @_bcResolveNative(%Env*, %Object*, i8*, i8*, i8*, i8*, i8**)
  181.  
  182. declare void @_bcPushNativeFrame(%Env*, %GatewayFrame*, i8*)
  183.  
  184. declare void @_bcPopNativeFrame(%Env*)
  185.  
  186. declare void @_bcPushCallbackFrame(%Env*, %GatewayFrame*, i8*)
  187.  
  188. declare void @_bcPopCallbackFrame(%Env*)
  189.  
  190. declare %Env* @_bcAttachThreadFromCallback()
  191.  
  192. declare void @_bcDetachThreadFromCallback(%Env*)
  193.  
  194. declare i8* @_bcCopyStruct(%Env*, i8*, i32)
  195.  
  196. declare void @_bcHookInstrumented(%Env*, i32, i32, i8*, i8*)
  197.  
  198. ; Function Attrs: nounwind readnone
  199. declare i8* @llvm.frameaddress(i32) #3
  200.  
  201. ; Function Attrs: nounwind
  202. declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture readonly, i32, i32, i1) #4
  203.  
  204. ; Function Attrs: nounwind
  205. declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #4
  206.  
  207. ; Function Attrs: nounwind readnone
  208. declare double @llvm.sqrt.f64(double) #3
  209.  
  210. ; Function Attrs: nounwind readnone
  211. declare double @llvm.cos.f64(double) #3
  212.  
  213. ; Function Attrs: nounwind readnone
  214. declare double @llvm.sin.f64(double) #3
  215.  
  216. ; Function Attrs: alwaysinline
  217. define private i32 @Thread_threadId(%Thread* %t) #0 {
  218. %1 = getelementptr %Thread* %t, i32 0, i32 0
  219. %2 = load volatile i32* %1
  220. ret i32 %2
  221. }
  222.  
  223. ; Function Attrs: alwaysinline
  224. define private %Thread* @Env_currentThread(%Env* %env) #0 {
  225. %1 = getelementptr %Env* %env, i32 0, i32 3
  226. %2 = load volatile %Thread** %1
  227. ret %Thread* %2
  228. }
  229.  
  230. ; Function Attrs: alwaysinline
  231. define private %GatewayFrame* @Env_gatewayFrames(%Env* %env) #0 {
  232. %1 = getelementptr %Env* %env, i32 0, i32 6
  233. %2 = load volatile %GatewayFrame** %1
  234. ret %GatewayFrame* %2
  235. }
  236.  
  237. ; Function Attrs: alwaysinline
  238. define private void @Env_gatewayFrames_store(%Env* %env, %GatewayFrame* %value) #0 {
  239. %1 = getelementptr %Env* %env, i32 0, i32 6
  240. store volatile %GatewayFrame* %value, %GatewayFrame** %1
  241. ret void
  242. }
  243.  
  244. ; Function Attrs: alwaysinline
  245. define private %Class* @Object_class(%Object* %o) #0 {
  246. %1 = getelementptr %Object* %o, i32 0, i32 0
  247. %2 = load volatile %Class** %1
  248. ret %Class* %2
  249. }
  250.  
  251. ; Function Attrs: alwaysinline
  252. define private i32 @Object_lock(%Object* %o) #0 {
  253. %1 = getelementptr %Object* %o, i32 0, i32 1
  254. %2 = bitcast i8** %1 to i32*
  255. %3 = load volatile i32* %2
  256. ret i32 %3
  257. }
  258.  
  259. ; Function Attrs: alwaysinline
  260. define private i32* @Object_lockPtr(%Object* %o) #0 {
  261. %1 = getelementptr %Object* %o, i32 0, i32 1
  262. %2 = bitcast i8** %1 to i32*
  263. ret i32* %2
  264. }
  265.  
  266. ; Function Attrs: alwaysinline
  267. define private %TypeInfo* @Class_typeInfo(%Class* %c) #0 {
  268. %1 = getelementptr %Class* %c, i32 0, i32 4
  269. %2 = load volatile %TypeInfo** %1
  270. ret %TypeInfo* %2
  271. }
  272.  
  273. ; Function Attrs: alwaysinline
  274. define private %Class* @Class_superclass(%Class* %c) #0 {
  275. %1 = getelementptr %Class* %c, i32 0, i32 9
  276. %2 = load volatile i8** %1
  277. %3 = bitcast i8* %2 to %Class*
  278. ret %Class* %3
  279. }
  280.  
  281. ; Function Attrs: alwaysinline
  282. define private %Class* @Class_componentType(%Class* %c) #0 {
  283. %1 = getelementptr %Class* %c, i32 0, i32 10
  284. %2 = load volatile i8** %1
  285. %3 = bitcast i8* %2 to %Class*
  286. ret %Class* %3
  287. }
  288.  
  289. ; Function Attrs: alwaysinline
  290. define private i32 @Class_flags(%Class* %c) #0 {
  291. %1 = getelementptr %Class* %c, i32 0, i32 12
  292. %2 = load volatile i32* %1
  293. ret i32 %2
  294. }
  295.  
  296. ; Function Attrs: alwaysinline
  297. define private i32 @TypeInfo_offset(%TypeInfo* %ti) #0 {
  298. %1 = getelementptr %TypeInfo* %ti, i32 0, i32 1
  299. %2 = load volatile i32* %1
  300. ret i32 %2
  301. }
  302.  
  303. ; Function Attrs: alwaysinline
  304. define private i32 @TypeInfo_cache(%TypeInfo* %ti) #0 {
  305. %1 = getelementptr %TypeInfo* %ti, i32 0, i32 2
  306. %2 = load volatile i32* %1
  307. ret i32 %2
  308. }
  309.  
  310. ; Function Attrs: alwaysinline
  311. define private void @TypeInfo_cache_store(%TypeInfo* %ti, i32 %value) #0 {
  312. %1 = getelementptr %TypeInfo* %ti, i32 0, i32 2
  313. store volatile i32 %value, i32* %1
  314. ret void
  315. }
  316.  
  317. ; Function Attrs: alwaysinline
  318. define private i32 @TypeInfo_interfaceCount(%TypeInfo* %ti) #0 {
  319. %1 = getelementptr %TypeInfo* %ti, i32 0, i32 4
  320. %2 = load volatile i32* %1
  321. ret i32 %2
  322. }
  323.  
  324. ; Function Attrs: alwaysinline
  325. define private i1 @isinstance_class(%Object* %o, i32 %offset, i32 %id) #0 {
  326. %c = call %Class* @Object_class(%Object* %o)
  327. %ti = call %TypeInfo* @Class_typeInfo(%Class* %c)
  328. %cachedId = call i32 @TypeInfo_cache(%TypeInfo* %ti)
  329. %isCachedEQ = icmp eq i32 %id, %cachedId
  330. br i1 %isCachedEQ, label %found, label %notInCache
  331.  
  332. notInCache: ; preds = %0
  333. %otherOffset = call i32 @TypeInfo_offset(%TypeInfo* %ti)
  334. %isOffsetLE = icmp ule i32 %offset, %otherOffset
  335. br i1 %isOffsetLE, label %compareIds, label %notFound
  336.  
  337. compareIds: ; preds = %notInCache
  338. %1 = bitcast %TypeInfo* %ti to [0 x i8]*
  339. %2 = getelementptr [0 x i8]* %1, i32 0, i32 %offset
  340. %3 = bitcast i8* %2 to i32*
  341. %otherId = load volatile i32* %3
  342. %isIdEQ = icmp eq i32 %id, %otherId
  343. br i1 %isIdEQ, label %storeCache, label %notFound
  344.  
  345. storeCache: ; preds = %compareIds
  346. call void @TypeInfo_cache_store(%TypeInfo* %ti, i32 %id)
  347. br label %found
  348.  
  349. found: ; preds = %storeCache, %0
  350. ret i1 true
  351.  
  352. notFound: ; preds = %compareIds, %notInCache
  353. ret i1 false
  354. }
  355.  
  356. ; Function Attrs: alwaysinline
  357. define private i1 @isinstance_interface(%Object* %o, i32 %id) #0 {
  358. %c = call %Class* @Object_class(%Object* %o)
  359. %ti = call %TypeInfo* @Class_typeInfo(%Class* %c)
  360. %cachedId = call i32 @TypeInfo_cache(%TypeInfo* %ti)
  361. %isCachedEQ = icmp eq i32 %id, %cachedId
  362. br i1 %isCachedEQ, label %found, label %notInCache
  363.  
  364. notInCache: ; preds = %0
  365. %ifCount = call i32 @TypeInfo_interfaceCount(%TypeInfo* %ti)
  366. %hasIfs = icmp ne i32 %ifCount, 0
  367. br i1 %hasIfs, label %computeBase, label %notFound
  368.  
  369. computeBase: ; preds = %notInCache
  370. %offset = call i32 @TypeInfo_offset(%TypeInfo* %ti)
  371. %ti_18p = bitcast %TypeInfo* %ti to [0 x i8]*
  372. %1 = getelementptr [0 x i8]* %ti_18p, i32 0, i32 %offset
  373. %2 = bitcast i8* %1 to [0 x i32]*
  374. %3 = getelementptr [0 x i32]* %2, i32 0, i32 1
  375. %base = bitcast i32* %3 to [0 x i32]*
  376. br label %loop
  377.  
  378. loop: ; preds = %checkDone, %computeBase
  379. %n_phi = phi i32 [ 0, %computeBase ], [ %n, %checkDone ]
  380. %4 = getelementptr [0 x i32]* %base, i32 0, i32 %n_phi
  381. %n = add i32 %n_phi, 1
  382. %otherId = load volatile i32* %4
  383. %isIdEQ = icmp eq i32 %id, %otherId
  384. br i1 %isIdEQ, label %storeCache, label %checkDone
  385.  
  386. checkDone: ; preds = %loop
  387. %isDone = icmp eq i32 %n, %ifCount
  388. br i1 %isDone, label %notFound, label %loop
  389.  
  390. storeCache: ; preds = %loop
  391. call void @TypeInfo_cache_store(%TypeInfo* %ti, i32 %id)
  392. br label %found
  393.  
  394. found: ; preds = %storeCache, %0
  395. ret i1 true
  396.  
  397. notFound: ; preds = %checkDone, %notInCache
  398. ret i1 false
  399. }
  400.  
  401. declare void @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[lookup]"(%Env*, %Object*, %Object*)
  402.  
  403. declare %Object* @"[j]java.lang.StringBuilder[allocator][clinit]"(%Env*)
  404.  
  405. declare %Object* @"[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[clinit]"(%Env*, i32)
  406.  
  407. declare %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;"(%Env*, %Object*, %Object*)
  408.  
  409. declare %Object* @"[J]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;"(%Env*, %Object*, i64)
  410.  
  411. declare void @"[J]java.lang.StringBuilder.<init>(Ljava/lang/String;)V"(%Env*, %Object*, %Object*)
  412.  
  413. declare void @"[J]java.lang.Object.<init>()V"(%Env*, %Object*)
  414.  
  415. declare %Object* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[clinit]"(%Env*, i32)
  416.  
  417. declare %Object* @"[J]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;"(%Env*, %Object*, double)
  418.  
  419. declare %Object* @"[J]java.lang.StringBuilder.toString()Ljava/lang/String;"(%Env*, %Object*)
  420.  
  421. declare %Object* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[get][clinit]"(%Env*)
  422.  
  423. declare void @"[j]java.lang.Thread.sleep(J)V[clinit]"(%Env*, i64)
  424.  
  425. declare %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env*, %Object*, %Object*)
  426.  
  427. declare %Object* @"[J]java.lang.Object.clone()Ljava/lang/Object;"(%Env*, %Object*)
  428.  
  429. declare i8 @"[J]java.lang.Object.equals(Ljava/lang/Object;)Z"(%Env*, %Object*, %Object*)
  430.  
  431. declare void @"[J]java.lang.Object.finalize()V"(%Env*, %Object*)
  432.  
  433. declare %Object* @"[J]java.lang.Object.getClass()Ljava/lang/Class;"(%Env*, %Object*)
  434.  
  435. declare i32 @"[J]java.lang.Object.hashCode()I"(%Env*, %Object*)
  436.  
  437. declare void @"[J]java.lang.Object.notify()V"(%Env*, %Object*)
  438.  
  439. declare void @"[J]java.lang.Object.notifyAll()V"(%Env*, %Object*)
  440.  
  441. declare %Object* @"[J]java.lang.Object.toString()Ljava/lang/String;"(%Env*, %Object*)
  442.  
  443. declare void @"[J]java.lang.Object.wait()V"(%Env*, %Object*)
  444.  
  445. declare void @"[J]java.lang.Object.wait(J)V"(%Env*, %Object*, i64)
  446.  
  447. declare void @"[J]java.lang.Object.wait(JI)V"(%Env*, %Object*, i64, i32)
  448.  
  449. ; Function Attrs: noinline nounwind optsize
  450. define %Object* @"[j]com.robovm.debug.server.apps.InfiniteLoop[ldcext]"(%Env* %p0) #5 {
  451. label0:
  452. %0 = load volatile i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0), !dbg !63
  453. %1 = icmp ne i8* %0, null, !dbg !63
  454. br i1 %1, label %loaded.i, label %notLoaded.i, !dbg !63
  455.  
  456. loaded.i: ; preds = %label0
  457. %2 = bitcast i8* %0 to %Object*, !dbg !63
  458. br label %ldcClassWrapper.exit, !dbg !63
  459.  
  460. notLoaded.i: ; preds = %label0
  461. %3 = call %Object* @_bcLdcClass(%Env* %p0, i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0)), !dbg !63
  462. br label %ldcClassWrapper.exit, !dbg !63
  463.  
  464. ldcClassWrapper.exit: ; preds = %notLoaded.i, %loaded.i
  465. %t11 = phi %Object* [ %2, %loaded.i ], [ %3, %notLoaded.i ]
  466. ret %Object* %t11, !dbg !63
  467. }
  468.  
  469. ; Function Attrs: noinline nounwind optsize
  470. define %Object* @"[j]com.robovm.debug.server.apps.InfiniteLoop[allocator][clinit]"(%Env* %p0) #5 {
  471. label0:
  472. %t1 = bitcast i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0) to { i8*, i32 }*, !dbg !64
  473. %t2 = getelementptr { i8*, i32 }* %t1, i32 0, i32 1, !dbg !64
  474. %t3 = load i32* %t2, !dbg !64
  475. %t4 = and i32 %t3, 512, !dbg !64
  476. %t5 = icmp eq i32 %t4, 512, !dbg !64
  477. br i1 %t5, label %label1, label %label2, !dbg !64
  478.  
  479. label1: ; preds = %label2, %label0
  480. %t1.i = call %Object* @_bcAllocate(%Env* %p0, i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0)) #4, !dbg !65
  481. ret %Object* %t1.i, !dbg !64
  482.  
  483. label2: ; preds = %label0
  484. call void @_bcInitializeClass(%Env* %p0, i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0)), !dbg !64
  485. br label %label1, !dbg !64
  486. }
  487.  
  488. ; Function Attrs: noinline nounwind optsize
  489. define void @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V"(%Env* %p0, %Object* %p1) #5 {
  490. label0:
  491. %__envStack = alloca %Env*
  492. store %Env* %p0, %Env** %__envStack
  493. call void @llvm.dbg.declare(metadata %Env** %__envStack, metadata !11, metadata !66), !dbg !67
  494. %r0 = alloca %Object*
  495. store %Object* null, %Object** %r0
  496. call void asm sideeffect "mov -0x10000(%esp), %eax", "~{eax},~{dirflag},~{fpsr},~{flags},~{cc}"() #4
  497. call void @llvm.dbg.declare(metadata %Object** %r0, metadata !12, metadata !66), !dbg !67
  498. store %Object* %p1, %Object** %r0
  499. %0 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  500. call void @_bcHookInstrumented(%Env* %p0, i32 3, i32 0, i8* getelementptr inbounds ([1 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V[bptable]", i32 0, i32 0), i8* %0), !dbg !68
  501. %t0 = load %Object** %r0, !dbg !68
  502. call void @"[J]java.lang.Object.<init>()V"(%Env* %p0, %Object* %t0) #4, !dbg !70
  503. %1 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  504. call void @_bcHookInstrumented(%Env* %p0, i32 3, i32 0, i8* getelementptr inbounds ([1 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V[bptable]", i32 0, i32 0), i8* %1), !dbg !68
  505. ret void, !dbg !68
  506. }
  507.  
  508. ; Function Attrs: noinline nounwind optsize
  509. define void @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V"(%Env* %p0, %Object* %p1) #5 {
  510. label0:
  511. %__envStack = alloca %Env*
  512. store %Env* %p0, %Env** %__envStack
  513. call void @llvm.dbg.declare(metadata %Env** %__envStack, metadata !15, metadata !66), !dbg !71
  514. %r0 = alloca %Object*
  515. %c0 = alloca i32
  516. %n0 = alloca %Object*
  517. %d0 = alloca double
  518. %l1 = alloca i64
  519. %"$r2" = alloca %Object*
  520. %"$r3" = alloca %Object*
  521. %"$r4" = alloca %Object*
  522. %"$r5" = alloca %Object*
  523. %"$r6" = alloca %Object*
  524. %"$r7" = alloca %Object*
  525. %"$r8" = alloca %Object*
  526. %"$r9" = alloca %Object*
  527. %r1 = alloca %Object*
  528. %"$r10" = alloca %Object*
  529. %c2 = alloca i32
  530. %r11 = alloca %Object*
  531. %d1 = alloca double
  532. %"$r12" = alloca %Object*
  533. %"$r13" = alloca %Object*
  534. %"$r14" = alloca %Object*
  535. %"$r15" = alloca %Object*
  536. %"$r16" = alloca %Object*
  537. %"$r17" = alloca %Object*
  538. %r18 = alloca %Object*
  539. %"$r19" = alloca %Object*
  540. store %Object* null, %Object** %r0
  541. store %Object* null, %Object** %n0
  542. store %Object* null, %Object** %"$r2"
  543. store %Object* null, %Object** %"$r3"
  544. store %Object* null, %Object** %"$r4"
  545. store %Object* null, %Object** %"$r5"
  546. store %Object* null, %Object** %"$r6"
  547. store %Object* null, %Object** %"$r7"
  548. store %Object* null, %Object** %"$r8"
  549. store %Object* null, %Object** %"$r9"
  550. store %Object* null, %Object** %r1
  551. store %Object* null, %Object** %"$r10"
  552. store %Object* null, %Object** %r11
  553. store %Object* null, %Object** %"$r12"
  554. store %Object* null, %Object** %"$r13"
  555. store %Object* null, %Object** %"$r14"
  556. store %Object* null, %Object** %"$r15"
  557. store %Object* null, %Object** %"$r16"
  558. store %Object* null, %Object** %"$r17"
  559. store %Object* null, %Object** %r18
  560. store %Object* null, %Object** %"$r19"
  561. call void asm sideeffect "mov -0x10000(%esp), %eax", "~{eax},~{dirflag},~{fpsr},~{flags},~{cc}"() #4
  562. call void @llvm.dbg.declare(metadata %Object** %r0, metadata !16, metadata !66), !dbg !71
  563. store %Object* %p1, %Object** %r0
  564. %0 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  565. call void @_bcHookInstrumented(%Env* %p0, i32 6, i32 0, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %0), !dbg !72
  566. store i32 57005, i32* %c0, !dbg !72
  567. call void @llvm.dbg.declare(metadata i32* %c0, metadata !17, metadata !66), !dbg !73
  568. %1 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  569. call void @_bcHookInstrumented(%Env* %p0, i32 7, i32 1, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %1), !dbg !73
  570. store %Object* null, %Object** %n0, !dbg !73
  571. call void @llvm.dbg.declare(metadata %Object** %n0, metadata !23, metadata !66), !dbg !74
  572. %2 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  573. call void @_bcHookInstrumented(%Env* %p0, i32 8, i32 2, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %2), !dbg !74
  574. store double 1.233450e+02, double* %d0, !dbg !74
  575. call void @llvm.dbg.declare(metadata double* %d0, metadata !27, metadata !66), !dbg !75
  576. %3 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  577. call void @_bcHookInstrumented(%Env* %p0, i32 9, i32 3, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %3), !dbg !75
  578. store i64 48879, i64* %l1, !dbg !75
  579. call void @llvm.dbg.declare(metadata i64* %l1, metadata !32, metadata !66), !dbg !76
  580. %4 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  581. call void @_bcHookInstrumented(%Env* %p0, i32 10, i32 4, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %4), !dbg !76
  582. %t0.i = call %Object* @"[j]java.lang.StringBuilder[allocator][clinit]"(%Env* %p0) #4, !dbg !77
  583. store %Object* %t0.i, %Object** %"$r2", !dbg !76
  584. %t1 = load i32* %c0, !dbg !76
  585. %t0.i1 = call %Object* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[clinit]"(%Env* %p0, i32 %t1) #4, !dbg !78
  586. store %Object* %t0.i1, %Object** %"$r3", !dbg !76
  587. %t3 = load %Object** %"$r2", !dbg !76
  588. %t4 = load %Object** %"$r3", !dbg !76
  589. call void @"[J]java.lang.StringBuilder.<init>(Ljava/lang/String;)V"(%Env* %p0, %Object* %t3, %Object* %t4) #4, !dbg !79
  590. %t5 = load %Object** %"$r2", !dbg !76
  591. %t6 = call %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0), !dbg !76
  592. %t0.i2 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t5, %Object* %t6) #4, !dbg !80
  593. store %Object* %t0.i2, %Object** %"$r4", !dbg !76
  594. %t8 = load %Object** %"$r4", !dbg !76
  595. %p.i = bitcast %Object* %t8 to i8*, !dbg !76
  596. %i.i = load volatile i8* %p.i, !dbg !76
  597. %t10 = load %Object** %n0, !dbg !76
  598. %t0.i3 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t8, %Object* %t10) #4, !dbg !81
  599. store %Object* %t0.i3, %Object** %"$r5", !dbg !76
  600. %t12 = load %Object** %"$r5", !dbg !76
  601. %p.i4 = bitcast %Object* %t12 to i8*, !dbg !76
  602. %i.i5 = load volatile i8* %p.i4, !dbg !76
  603. %t14 = call %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0), !dbg !76
  604. %t0.i6 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t12, %Object* %t14) #4, !dbg !80
  605. store %Object* %t0.i6, %Object** %"$r6", !dbg !76
  606. %t16 = load %Object** %"$r6", !dbg !76
  607. %p.i7 = bitcast %Object* %t16 to i8*, !dbg !76
  608. %i.i8 = load volatile i8* %p.i7, !dbg !76
  609. %t18 = load double* %d0, !dbg !76
  610. %t0.i9 = call %Object* @"[J]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t16, double %t18) #4, !dbg !82
  611. store %Object* %t0.i9, %Object** %"$r7", !dbg !76
  612. %t20 = load %Object** %"$r7", !dbg !76
  613. %p.i10 = bitcast %Object* %t20 to i8*, !dbg !76
  614. %i.i11 = load volatile i8* %p.i10, !dbg !76
  615. %t22 = call %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0), !dbg !76
  616. %t0.i12 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t20, %Object* %t22) #4, !dbg !80
  617. store %Object* %t0.i12, %Object** %"$r8", !dbg !76
  618. %t24 = load %Object** %"$r8", !dbg !76
  619. %p.i13 = bitcast %Object* %t24 to i8*, !dbg !76
  620. %i.i14 = load volatile i8* %p.i13, !dbg !76
  621. %t26 = load i64* %l1, !dbg !76
  622. %t0.i18 = call %Object* @"[J]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t24, i64 %t26) #4, !dbg !83
  623. store %Object* %t0.i18, %Object** %"$r9", !dbg !76
  624. %t28 = load %Object** %"$r9", !dbg !76
  625. %p.i19 = bitcast %Object* %t28 to i8*, !dbg !76
  626. %i.i20 = load volatile i8* %p.i19, !dbg !76
  627. %t0.i21 = call %Object* @"[J]java.lang.StringBuilder.toString()Ljava/lang/String;"(%Env* %p0, %Object* %t28) #4, !dbg !84
  628. store %Object* %t0.i21, %Object** %r1, !dbg !76
  629. call void @llvm.dbg.declare(metadata %Object** %r1, metadata !37, metadata !66), !dbg !85
  630. %5 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  631. call void @_bcHookInstrumented(%Env* %p0, i32 11, i32 5, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %5), !dbg !85
  632. %t0.i22 = call %Object* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[get][clinit]"(%Env* %p0) #4, !dbg !86
  633. store %Object* %t0.i22, %Object** %"$r10", !dbg !85
  634. %t32 = load %Object** %"$r10", !dbg !85
  635. %p.i23 = bitcast %Object* %t32 to i8*, !dbg !85
  636. %i.i24 = load volatile i8* %p.i23, !dbg !85
  637. %t34 = load %Object** %r1, !dbg !85
  638. call void @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[lookup]"(%Env* %p0, %Object* %t32, %Object* %t34) #4, !dbg !87
  639. %6 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  640. call void @_bcHookInstrumented(%Env* %p0, i32 14, i32 8, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %6), !dbg !88
  641. store i32 43690, i32* %c2, !dbg !88
  642. call void @llvm.dbg.declare(metadata i32* %c2, metadata !21, metadata !66), !dbg !89
  643. %7 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  644. call void @_bcHookInstrumented(%Env* %p0, i32 15, i32 9, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %7), !dbg !89
  645. %t0.i26 = call %Object* @"[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[clinit]"(%Env* %p0, i32 0) #4, !dbg !90
  646. store %Object* %t0.i26, %Object** %r11, !dbg !89
  647. call void @llvm.dbg.declare(metadata %Object** %r11, metadata !25, metadata !66), !dbg !91
  648. %8 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  649. call void @_bcHookInstrumented(%Env* %p0, i32 16, i32 10, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %8), !dbg !91
  650. store double 0.000000e+00, double* %d1, !dbg !91
  651. call void @llvm.dbg.declare(metadata double* %d1, metadata !30, metadata !66), !dbg !92
  652. %9 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  653. call void @_bcHookInstrumented(%Env* %p0, i32 17, i32 11, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %9), !dbg !92
  654. %t0.i27 = call %Object* @"[j]java.lang.StringBuilder[allocator][clinit]"(%Env* %p0) #4, !dbg !93
  655. store %Object* %t0.i27, %Object** %"$r12", !dbg !92
  656. %t37 = load i32* %c2, !dbg !92
  657. %t0.i28 = call %Object* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[clinit]"(%Env* %p0, i32 %t37) #4, !dbg !94
  658. store %Object* %t0.i28, %Object** %"$r13", !dbg !92
  659. %t39 = load %Object** %"$r12", !dbg !92
  660. %t40 = load %Object** %"$r13", !dbg !92
  661. call void @"[J]java.lang.StringBuilder.<init>(Ljava/lang/String;)V"(%Env* %p0, %Object* %t39, %Object* %t40) #4, !dbg !95
  662. %t41 = load %Object** %"$r12", !dbg !92
  663. %t42 = call %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0), !dbg !92
  664. %t0.i29 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t41, %Object* %t42) #4, !dbg !96
  665. store %Object* %t0.i29, %Object** %"$r14", !dbg !92
  666. %t44 = load %Object** %"$r14", !dbg !92
  667. %p.i30 = bitcast %Object* %t44 to i8*, !dbg !92
  668. %i.i31 = load volatile i8* %p.i30, !dbg !92
  669. %t46 = load %Object** %r11, !dbg !92
  670. %t0.i35 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t44, %Object* %t46) #4, !dbg !97
  671. store %Object* %t0.i35, %Object** %"$r15", !dbg !92
  672. %t48 = load %Object** %"$r15", !dbg !92
  673. %p.i36 = bitcast %Object* %t48 to i8*, !dbg !92
  674. %i.i37 = load volatile i8* %p.i36, !dbg !92
  675. %t50 = call %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0), !dbg !92
  676. %t0.i40 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t48, %Object* %t50) #4, !dbg !96
  677. store %Object* %t0.i40, %Object** %"$r16", !dbg !92
  678. %t52 = load %Object** %"$r16", !dbg !92
  679. %p.i38 = bitcast %Object* %t52 to i8*, !dbg !92
  680. %i.i39 = load volatile i8* %p.i38, !dbg !92
  681. %t54 = load double* %d1, !dbg !92
  682. %t0.i34 = call %Object* @"[J]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %t52, double %t54) #4, !dbg !98
  683. store %Object* %t0.i34, %Object** %"$r17", !dbg !92
  684. %t56 = load %Object** %"$r17", !dbg !92
  685. %p.i32 = bitcast %Object* %t56 to i8*, !dbg !92
  686. %i.i33 = load volatile i8* %p.i32, !dbg !92
  687. %t0.i25 = call %Object* @"[J]java.lang.StringBuilder.toString()Ljava/lang/String;"(%Env* %p0, %Object* %t56) #4, !dbg !99
  688. store %Object* %t0.i25, %Object** %r18, !dbg !92
  689. call void @llvm.dbg.declare(metadata %Object** %r18, metadata !35, metadata !66), !dbg !100
  690. %10 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  691. call void @_bcHookInstrumented(%Env* %p0, i32 18, i32 12, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %10), !dbg !100
  692. %t0.i17 = call %Object* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[get][clinit]"(%Env* %p0) #4, !dbg !101
  693. store %Object* %t0.i17, %Object** %"$r19", !dbg !100
  694. %t60 = load %Object** %"$r19", !dbg !100
  695. %p.i15 = bitcast %Object* %t60 to i8*, !dbg !100
  696. %i.i16 = load volatile i8* %p.i15, !dbg !100
  697. %t62 = load %Object** %r18, !dbg !100
  698. call void @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[lookup]"(%Env* %p0, %Object* %t60, %Object* %t62) #4, !dbg !102
  699. br label %label1
  700.  
  701. label1: ; preds = %label1, %label0
  702. %11 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  703. call void @_bcHookInstrumented(%Env* %p0, i32 21, i32 15, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %11), !dbg !103
  704. call void @"[j]java.lang.Thread.sleep(J)V[clinit]"(%Env* %p0, i64 1000000) #4, !dbg !104
  705. %12 = call i8* asm sideeffect "movl $$., $0", "=r,~{dirflag},~{fpsr},~{flags}"() #4
  706. call void @_bcHookInstrumented(%Env* %p0, i32 20, i32 14, i8* getelementptr inbounds ([2 x i8]* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[bptable]", i32 0, i32 0), i8* %12), !dbg !105
  707. br label %label1, !dbg !105
  708. }
  709.  
  710. ; Function Attrs: nounwind
  711. define weak %Object* @"[j]str__2C_20_00[ldcstring]"(%Env* %p0) #4 {
  712. label0:
  713. %t0 = call %Object* @_bcLdcString(%Env* %p0, %Object** @str__2C_20_00_ptr, i8* getelementptr inbounds ([3 x i8]* @str__2C_20_00, i32 0, i32 0), i32 2), !dbg !106
  714. ret %Object* %t0, !dbg !106
  715. }
  716.  
  717. ; Function Attrs: noinline nounwind optsize
  718. define void @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[clinit]"(%Env* %p0, %Object* %p1) #5 {
  719. label0:
  720. %t1 = bitcast i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0) to { i8*, i32 }*, !dbg !107
  721. %t2 = getelementptr { i8*, i32 }* %t1, i32 0, i32 1, !dbg !107
  722. %t3 = load i32* %t2, !dbg !107
  723. %t4 = and i32 %t3, 512, !dbg !107
  724. %t5 = icmp eq i32 %t4, 512, !dbg !107
  725. br i1 %t5, label %label1, label %label2, !dbg !107
  726.  
  727. label1: ; preds = %label2, %label0
  728. call void @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V"(%Env* %p0, %Object* %p1), !dbg !107
  729. ret void, !dbg !107
  730.  
  731. label2: ; preds = %label0
  732. call void @_bcInitializeClass(%Env* %p0, i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0)), !dbg !107
  733. br label %label1, !dbg !107
  734. }
  735.  
  736. ; Function Attrs: alwaysinline nounwind optsize
  737. define void @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/io/PrintStream)]"(%Env* %p0, %Object* %p1, %Object* %p2) #6 {
  738. label0:
  739. call void @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[lookup]"(%Env* %p0, %Object* %p1, %Object* %p2), !dbg !108
  740. ret void, !dbg !108
  741. }
  742.  
  743. ; Function Attrs: alwaysinline nounwind optsize
  744. define %Object* @"[j]java.lang.StringBuilder[New(com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0) #6 {
  745. label0:
  746. %t0 = call %Object* @"[j]java.lang.StringBuilder[allocator][clinit]"(%Env* %p0), !dbg !109
  747. ret %Object* %t0, !dbg !109
  748. }
  749.  
  750. ; Function Attrs: alwaysinline nounwind optsize
  751. define %Object* @"[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0, i32 %p1) #6 {
  752. label0:
  753. %t0 = call %Object* @"[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[clinit]"(%Env* %p0, i32 %p1), !dbg !110
  754. ret %Object* %t0, !dbg !110
  755. }
  756.  
  757. ; Function Attrs: alwaysinline nounwind optsize
  758. define %Object* @"[j]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1, %Object* %p2) #6 {
  759. label0:
  760. %t0 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %p1, %Object* %p2), !dbg !111
  761. ret %Object* %t0, !dbg !111
  762. }
  763.  
  764. ; Function Attrs: alwaysinline nounwind optsize
  765. define %Object* @"[j]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1, i64 %p2) #6 {
  766. label0:
  767. %t0 = call %Object* @"[J]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %p1, i64 %p2), !dbg !112
  768. ret %Object* %t0, !dbg !112
  769. }
  770.  
  771. ; Function Attrs: alwaysinline nounwind optsize
  772. define void @"[j]java.lang.StringBuilder.<init>(Ljava/lang/String;)V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1, %Object* %p2) #6 {
  773. label0:
  774. call void @"[J]java.lang.StringBuilder.<init>(Ljava/lang/String;)V"(%Env* %p0, %Object* %p1, %Object* %p2), !dbg !113
  775. ret void, !dbg !113
  776. }
  777.  
  778. ; Function Attrs: alwaysinline nounwind optsize
  779. define void @"[j]java.lang.Object.<init>()V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0, %Object* %p1) #6 {
  780. label0:
  781. call void @"[J]java.lang.Object.<init>()V"(%Env* %p0, %Object* %p1), !dbg !114
  782. ret void, !dbg !114
  783. }
  784.  
  785. ; Function Attrs: alwaysinline nounwind optsize
  786. define %Object* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0, i32 %p1) #6 {
  787. label0:
  788. %t0 = call %Object* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[clinit]"(%Env* %p0, i32 %p1), !dbg !115
  789. ret %Object* %t0, !dbg !115
  790. }
  791.  
  792. ; Function Attrs: alwaysinline nounwind optsize
  793. define %Object* @"[j]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1, double %p2) #6 {
  794. label0:
  795. %t0 = call %Object* @"[J]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %p1, double %p2), !dbg !116
  796. ret %Object* %t0, !dbg !116
  797. }
  798.  
  799. ; Function Attrs: alwaysinline nounwind optsize
  800. define %Object* @"[j]java.lang.StringBuilder.toString()Ljava/lang/String;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1) #6 {
  801. label0:
  802. %t0 = call %Object* @"[J]java.lang.StringBuilder.toString()Ljava/lang/String;"(%Env* %p0, %Object* %p1), !dbg !117
  803. ret %Object* %t0, !dbg !117
  804. }
  805.  
  806. ; Function Attrs: alwaysinline nounwind optsize
  807. define %Object* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[GetStatic(com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0) #6 {
  808. label0:
  809. %t0 = call %Object* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[get][clinit]"(%Env* %p0), !dbg !118
  810. ret %Object* %t0, !dbg !118
  811. }
  812.  
  813. ; Function Attrs: alwaysinline nounwind optsize
  814. define void @"[j]java.lang.Thread.sleep(J)V[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]"(%Env* %p0, i64 %p1) #6 {
  815. label0:
  816. call void @"[j]java.lang.Thread.sleep(J)V[clinit]"(%Env* %p0, i64 %p1), !dbg !119
  817. ret void, !dbg !119
  818. }
  819.  
  820. ; Function Attrs: alwaysinline nounwind optsize
  821. define %Object* @"[j]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]"(%Env* %p0, %Object* %p1, %Object* %p2) #6 {
  822. label0:
  823. %t0 = call %Object* @"[J]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;"(%Env* %p0, %Object* %p1, %Object* %p2), !dbg !120
  824. ret %Object* %t0, !dbg !120
  825. }
  826.  
  827. ; Function Attrs: alwaysinline nounwind optsize
  828. define i8** @"[j]com.robovm.debug.server.apps.InfiniteLoop[info]"() #6 {
  829. label0:
  830. ret i8** getelementptr inbounds ({ { i8*, i32, i8*, i8*, i8**, i8*, i8*, i32, i32, i32, i16, i16 }, <{ i16, i16, i16, i8*, i8*, i16, i16, i8*, i8, i8*, i32, i32*, i16, i16, i8*, i8*, i8*, i8*, i32, i32* }> }* @"[j]com.robovm.debug.server.apps.InfiniteLoop[infostruct]", i32 0, i32 0, i32 0), !dbg !121
  831. }
  832.  
  833. ; Function Attrs: nounwind readnone
  834. declare void @llvm.dbg.declare(metadata, metadata, metadata) #3
  835.  
  836. attributes #0 = { alwaysinline }
  837. attributes #1 = { noreturn }
  838. attributes #2 = { returns_twice }
  839. attributes #3 = { nounwind readnone }
  840. attributes #4 = { nounwind }
  841. attributes #5 = { noinline nounwind optsize }
  842. attributes #6 = { alwaysinline nounwind optsize }
  843.  
  844. !llvm.dbg.cu = !{!0}
  845. !llvm.module.flags = !{!61, !62}
  846.  
  847. !0 = !{!"0x11\0011\00RoboVM 1.0.0-SNAPSHOT\001\00\000\00\001", !1, !2, !2, !3, !2, !2} ; [ DW_TAG_compile_unit ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java] [DW_LANG_Java]
  848. !1 = !{!"InfiniteLoop.java", !"/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps"}
  849. !2 = !{}
  850. !3 = !{!4, !13, !39, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !52, !53, !54, !55, !56, !57, !58, !59, !60}
  851. !4 = !{!"0x2e\00[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V\00[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V\00\003\000\001\000\000\00256\000\003", !1, !5, !6, null, void (%Env*, %Object*)* @"[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V", null, null, !10} ; [ DW_TAG_subprogram ] [line 3] [def] [[J]com.robovm.debug.server.apps.InfiniteLoop.<init>()V]
  852. !5 = !{!"0x29", !1} ; [ DW_TAG_file_type ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  853. !6 = !{!"0x15\00\000\000\000\000\000\000", null, null, null, !7, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
  854. !7 = !{null, !8, !9}
  855. !8 = !{!"0xf\00\000\0032\0032\000\000", null, null, null, null} ; [ DW_TAG_pointer_type ] [line 0, size 32, align 32, offset 0] [from ]
  856. !9 = !{!"0xf\00Object\000\0032\0032\000\000", null, null, null, null} ; [ DW_TAG_pointer_type ] [Object] [line 0, size 32, align 32, offset 0] [from ]
  857. !10 = !{!11, !12}
  858. !11 = !{!"0x101\00__$env\0016777219\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [__$env] [line 3]
  859. !12 = !{!"0x101\00__$this\0033554435\000", !4, !5, !9} ; [ DW_TAG_arg_variable ] [__$this] [line 3]
  860. !13 = !{!"0x2e\00[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V\00[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V\00\006\000\001\000\000\00256\000\006", !1, !5, !6, null, void (%Env*, %Object*)* @"[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V", null, null, !14} ; [ DW_TAG_subprogram ] [line 6] [def] [[J]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V]
  861. !14 = !{!15, !16, !17, !21, !23, !25, !27, !30, !32, !35, !37}
  862. !15 = !{!"0x101\00__$env\0016777222\000", !13, !5, !9} ; [ DW_TAG_arg_variable ] [__$env] [line 6]
  863. !16 = !{!"0x101\00args\0033554438\000", !13, !5, !9} ; [ DW_TAG_arg_variable ] [args] [line 6]
  864. !17 = !{!"0x100\00a\007\000", !18, !5, !20} ; [ DW_TAG_auto_variable ] [a] [line 7]
  865. !18 = !{!"0xb\007\000\002", !1, !19} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  866. !19 = !{!"0xb\006\000\001", !1, !13} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  867. !20 = !{!"0x24\00char\000\0016\0016\000\000\007", null, null} ; [ DW_TAG_base_type ] [char] [line 0, size 16, align 16, offset 0, enc DW_ATE_unsigned]
  868. !21 = !{!"0x100\00a\0015\000", !22, !5, !20} ; [ DW_TAG_auto_variable ] [a] [line 15]
  869. !22 = !{!"0xb\0015\000\007", !1, !19} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  870. !23 = !{!"0x100\00c\008\000", !24, !5, !9} ; [ DW_TAG_auto_variable ] [c] [line 8]
  871. !24 = !{!"0xb\008\000\003", !1, !18} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  872. !25 = !{!"0x100\00c\0016\000", !26, !5, !9} ; [ DW_TAG_auto_variable ] [c] [line 16]
  873. !26 = !{!"0xb\0016\000\008", !1, !22} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  874. !27 = !{!"0x100\00d\009\000", !28, !5, !29} ; [ DW_TAG_auto_variable ] [d] [line 9]
  875. !28 = !{!"0xb\009\000\004", !1, !24} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  876. !29 = !{!"0x24\00double\000\0064\0032\000\000\004", null, null} ; [ DW_TAG_base_type ] [double] [line 0, size 64, align 32, offset 0, enc DW_ATE_float]
  877. !30 = !{!"0x100\00d\0017\000", !31, !5, !29} ; [ DW_TAG_auto_variable ] [d] [line 17]
  878. !31 = !{!"0xb\0017\000\009", !1, !26} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  879. !32 = !{!"0x100\00f\0010\000", !33, !5, !34} ; [ DW_TAG_auto_variable ] [f] [line 10]
  880. !33 = !{!"0xb\0010\000\005", !1, !28} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  881. !34 = !{!"0x24\00long\000\0064\0032\000\000\005", null, null} ; [ DW_TAG_base_type ] [long] [line 0, size 64, align 32, offset 0, enc DW_ATE_signed]
  882. !35 = !{!"0x100\00str\0018\000", !36, !5, !9} ; [ DW_TAG_auto_variable ] [str] [line 18]
  883. !36 = !{!"0xb\0018\000\0010", !1, !31} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  884. !37 = !{!"0x100\00str\0011\000", !38, !5, !9} ; [ DW_TAG_auto_variable ] [str] [line 11]
  885. !38 = !{!"0xb\0011\000\006", !1, !33} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  886. !39 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop[ldc]\00[j]com.robovm.debug.server.apps.InfiniteLoop[ldc]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, null, null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop[ldc]]
  887. !40 = !{!"0x15\00\000\000\000\000\000\000", null, null, null, !41, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
  888. !41 = !{null}
  889. !42 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop[ldcext]\00[j]com.robovm.debug.server.apps.InfiniteLoop[ldcext]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*)* @"[j]com.robovm.debug.server.apps.InfiniteLoop[ldcext]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop[ldcext]]
  890. !43 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop[allocator]\00[j]com.robovm.debug.server.apps.InfiniteLoop[allocator]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, null, null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop[allocator]]
  891. !44 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop[allocator][clinit]\00[j]com.robovm.debug.server.apps.InfiniteLoop[allocator][clinit]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*)* @"[j]com.robovm.debug.server.apps.InfiniteLoop[allocator][clinit]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop[allocator][clinit]]
  892. !45 = !{!"0x2e\00[j]str__2C_20_00[ldcstring]\00[j]str__2C_20_00[ldcstring]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*)* @"[j]str__2C_20_00[ldcstring]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]str__2C_20_00[ldcstring]]
  893. !46 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[clinit]\00[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[clinit]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, void (%Env*, %Object*)* @"[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[clinit]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop.main([Ljava/lang/String;)V[clinit]]
  894. !47 = !{!"0x2e\00[j]java.io.PrintStream.println(Ljava/lang/String;)V[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/io/PrintStream)]\00[j]java.io.PrintStream.println(Ljava/lang/String;)V[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/io/PrintStream)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, void (%Env*, %Object*, %Object*)* @"[j]java.io.PrintStream.println(Ljava/lang/String;)V[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/io/PrintStream)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.io.PrintStream.println(Ljava/lang/String;)V[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/io/PrintStream)]]
  895. !48 = !{!"0x2e\00[j]java.lang.StringBuilder[New(com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.StringBuilder[New(com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*)* @"[j]java.lang.StringBuilder[New(com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder[New(com/robovm/debug/server/apps/InfiniteLoop)]]
  896. !49 = !{!"0x2e\00[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, i32)* @"[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.Integer.valueOf(I)Ljava/lang/Integer;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]]
  897. !50 = !{!"0x2e\00[j]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, %Object*, %Object*)* @"[j]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.append(Ljava/lang/Object;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  898. !51 = !{!"0x2e\00[j]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, %Object*, i64)* @"[j]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.append(J)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  899. !52 = !{!"0x2e\00[j]java.lang.StringBuilder.<init>(Ljava/lang/String;)V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.<init>(Ljava/lang/String;)V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, void (%Env*, %Object*, %Object*)* @"[j]java.lang.StringBuilder.<init>(Ljava/lang/String;)V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.<init>(Ljava/lang/String;)V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  900. !53 = !{!"0x2e\00[j]java.lang.Object.<init>()V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.Object.<init>()V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, void (%Env*, %Object*)* @"[j]java.lang.Object.<init>()V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.Object.<init>()V[Invokespecial(com/robovm/debug/server/apps/InfiniteLoop,com/robovm/debug/server/apps/InfiniteLoop)]]
  901. !54 = !{!"0x2e\00[j]java.lang.String.valueOf(I)Ljava/lang/String;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.String.valueOf(I)Ljava/lang/String;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, i32)* @"[j]java.lang.String.valueOf(I)Ljava/lang/String;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.String.valueOf(I)Ljava/lang/String;[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]]
  902. !55 = !{!"0x2e\00[j]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, %Object*, double)* @"[j]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.append(D)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  903. !56 = !{!"0x2e\00[j]java.lang.StringBuilder.toString()Ljava/lang/String;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.toString()Ljava/lang/String;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, %Object*)* @"[j]java.lang.StringBuilder.toString()Ljava/lang/String;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.toString()Ljava/lang/String;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  904. !57 = !{!"0x2e\00[j]java.lang.System.out(Ljava/io/PrintStream;)[GetStatic(com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.System.out(Ljava/io/PrintStream;)[GetStatic(com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*)* @"[j]java.lang.System.out(Ljava/io/PrintStream;)[GetStatic(com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.System.out(Ljava/io/PrintStream;)[GetStatic(com/robovm/debug/server/apps/InfiniteLoop)]]
  905. !58 = !{!"0x2e\00[j]java.lang.Thread.sleep(J)V[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00[j]java.lang.Thread.sleep(J)V[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, void (%Env*, i64)* @"[j]java.lang.Thread.sleep(J)V[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.Thread.sleep(J)V[Invokestatic(com/robovm/debug/server/apps/InfiniteLoop)]]
  906. !59 = !{!"0x2e\00[j]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00[j]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, %Object* (%Env*, %Object*, %Object*)* @"[j]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]java.lang.StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;[Invokevirtual(com/robovm/debug/server/apps/InfiniteLoop,java/lang/StringBuilder)]]
  907. !60 = !{!"0x2e\00[j]com.robovm.debug.server.apps.InfiniteLoop[info]\00[j]com.robovm.debug.server.apps.InfiniteLoop[info]\00\001\000\001\000\000\00256\000\001", !1, !5, !40, null, i8** ()* @"[j]com.robovm.debug.server.apps.InfiniteLoop[info]", null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [[j]com.robovm.debug.server.apps.InfiniteLoop[info]]
  908. !61 = !{i32 2, !"Dwarf Version", i32 2}
  909. !62 = !{i32 2, !"Debug Info Version", i32 2}
  910. !63 = !{i32 1, i32 0, !42, null}
  911. !64 = !{i32 1, i32 0, !44, null}
  912. !65 = !{i32 1, i32 0, !43, !64}
  913. !66 = !{!"0x102"} ; [ DW_TAG_expression ]
  914. !67 = !{i32 3, i32 0, !4, null}
  915. !68 = !{i32 3, i32 0, !69, null}
  916. !69 = !{!"0xb\003\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [/Users/badlogic/workspaces/robovm/robovm-debug/server/src/test/java/com/robovm/debug/server/apps/InfiniteLoop.java]
  917. !70 = !{i32 1, i32 0, !53, !68}
  918. !71 = !{i32 6, i32 0, !13, null}
  919. !72 = !{i32 6, i32 0, !19, null}
  920. !73 = !{i32 7, i32 0, !18, null}
  921. !74 = !{i32 8, i32 0, !24, null}
  922. !75 = !{i32 9, i32 0, !28, null}
  923. !76 = !{i32 10, i32 0, !33, null}
  924. !77 = !{i32 1, i32 0, !48, !76}
  925. !78 = !{i32 1, i32 0, !54, !76}
  926. !79 = !{i32 1, i32 0, !52, !76}
  927. !80 = !{i32 1, i32 0, !59, !76}
  928. !81 = !{i32 1, i32 0, !50, !76}
  929. !82 = !{i32 1, i32 0, !55, !76}
  930. !83 = !{i32 1, i32 0, !51, !76}
  931. !84 = !{i32 1, i32 0, !56, !76}
  932. !85 = !{i32 11, i32 0, !38, null}
  933. !86 = !{i32 1, i32 0, !57, !85}
  934. !87 = !{i32 1, i32 0, !47, !85}
  935. !88 = !{i32 14, i32 0, !19, null}
  936. !89 = !{i32 15, i32 0, !22, null}
  937. !90 = !{i32 1, i32 0, !49, !89}
  938. !91 = !{i32 16, i32 0, !26, null}
  939. !92 = !{i32 17, i32 0, !31, null}
  940. !93 = !{i32 1, i32 0, !48, !92}
  941. !94 = !{i32 1, i32 0, !54, !92}
  942. !95 = !{i32 1, i32 0, !52, !92}
  943. !96 = !{i32 1, i32 0, !59, !92}
  944. !97 = !{i32 1, i32 0, !50, !92}
  945. !98 = !{i32 1, i32 0, !55, !92}
  946. !99 = !{i32 1, i32 0, !56, !92}
  947. !100 = !{i32 18, i32 0, !36, null}
  948. !101 = !{i32 1, i32 0, !57, !100}
  949. !102 = !{i32 1, i32 0, !47, !100}
  950. !103 = !{i32 21, i32 0, !19, null}
  951. !104 = !{i32 1, i32 0, !58, !103}
  952. !105 = !{i32 20, i32 0, !19, null}
  953. !106 = !{i32 1, i32 0, !45, null}
  954. !107 = !{i32 1, i32 0, !46, null}
  955. !108 = !{i32 1, i32 0, !47, null}
  956. !109 = !{i32 1, i32 0, !48, null}
  957. !110 = !{i32 1, i32 0, !49, null}
  958. !111 = !{i32 1, i32 0, !50, null}
  959. !112 = !{i32 1, i32 0, !51, null}
  960. !113 = !{i32 1, i32 0, !52, null}
  961. !114 = !{i32 1, i32 0, !53, null}
  962. !115 = !{i32 1, i32 0, !54, null}
  963. !116 = !{i32 1, i32 0, !55, null}
  964. !117 = !{i32 1, i32 0, !56, null}
  965. !118 = !{i32 1, i32 0, !57, null}
  966. !119 = !{i32 1, i32 0, !58, null}
  967. !120 = !{i32 1, i32 0, !59, null}
  968. !121 = !{i32 1, i32 0, !60, null}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement