Skip to content

Instantly share code, notes, and snippets.

This file has been truncated, but you can view the full file.
Args: /Users/badlogic/workspaces/robovm/llvm/build/Debug/bin/opt -O2 -debug /Users/badlogic/workspaces/robovm/llvm/ArcTo.class.ll
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.
SROA function: checkso
Skipping SROA -- no target data!
SROA function: getpc
Skipping SROA -- no target data!
diff --git a/source/Symbol/FuncUnwinders.cpp b/source/Symbol/FuncUnwinders.cpp
index 1eb73ee..86e6f4c 100644
--- a/source/Symbol/FuncUnwinders.cpp
+++ b/source/Symbol/FuncUnwinders.cpp
@@ -129,6 +129,7 @@ FuncUnwinders::GetEHFrameUnwindPlan (Target &target, int current_offset)
UnwindPlanSP
FuncUnwinders::GetEHFrameAugmentedUnwindPlan (Target &target, Thread &thread, int current_offset)
{
+#if 0
if (m_unwind_plan_eh_frame_augmented_sp.get() || m_tried_unwind_plan_eh_frame_augmented)
.globl "_[J]com.robovm.debug.server.apps.InvalidFrame.testRecursion(I)V"
"_[J]com.robovm.debug.server.apps.InvalidFrame.testRecursion(I)V": ## @"[J]com.robovm.debug.server.apps.InvalidFrame.testRecursion(I)V"
.cfi_startproc
Lfunc_begin24:
.loc 1 10 0 ## InvalidFrame.java:10:0
## BB#0: ## %label0
pushl %ebp
Ltmp141:
.cfi_def_cfa_offset 8
Ltmp142:
// access flags 0x9
public static testRecursion(I)V
L0
LINENUMBER 10 L0
ILOAD 0
BIPUSH 100
IF_ICMPLE L1
L2
LINENUMBER 11 L2
RETURN
import org.robovm.apple.coregraphics.CGRect;
import org.robovm.apple.coremotion.CMAccelerometerData;
import org.robovm.apple.coremotion.CMMotionManager;
import org.robovm.apple.foundation.NSAutoreleasePool;
import org.robovm.apple.foundation.NSError;
import org.robovm.apple.foundation.NSOperationQueue;
import org.robovm.apple.uikit.UIApplication;
import org.robovm.apple.uikit.UIApplicationDelegateAdapter;
import org.robovm.apple.uikit.UIApplicationLaunchOptions;
import org.robovm.apple.uikit.UIButton;
define external %Object* @"[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;"(%Env* %p0, %Object* %p1, %Object* %p2, i32 %p3, %Object* %p4, i8 %p5) nounwind noinline optsize {
label0:
%__envStack = alloca %Env*
store %Env* %p0, %Env** %__envStack
call void @"llvm.dbg.declare"(metadata %Env** %__envStack, metadata !39), !dbg !{i32 334, i32 0, !{!"0x2e\00[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;\00[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;\00\00334\000\001\000\000\00256\000\00334", !0, !1, !25, null, %Object* (%Env*, %Object*, %Object*, i32, %Object*, i8)* @"[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;", null, null, !27}, null}
%r0 = alloca %Object*
%r1 = alloca %Object*
%i0 = alloca i32
%r2 = alloca %Object*
%z0 = a
define external %Object* @"[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;"(%Env* %p0, %Object* %p1, %Object* %p2, i32 %p3, %Object* %p4, i8 %p5) nounwind noinline optsize {
label0:
%__envStack = alloca %Env*
store %Env* %p0, %Env** %__envStack
call void @"llvm.dbg.declare"(metadata %Env** %__envStack, metadata !39), !dbg !{i32 334, i32 0, !{!"0x2e\00[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;\00[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;\00\00334\000\001\000\000\00256\000\00334", !0, !1, !25, null, %Object* (%Env*, %Object*, %Object*, i32, %Object*, i8)* @"[J]java.util.concurrent.ConcurrentHashMap$Segment.put(Ljava/lang/Object;ILjava/lang/Object;Z)Ljava/lang/Object;", null, null, !27}, null}
%r0 = alloca %Object*
%r1 = alloca %Object*
%i0 = alloca i32
%r2 = alloca %Object*
%z0 = a
final java.lang.Object put(java.lang.Object, int, java.lang.Object, boolean)
{
java.util.concurrent.ConcurrentHashMap$Segment r0, $r12, $r14;
java.lang.Object r1, r2, r7, r8, $r11;
int i0, i1, $i2, $i3, $i4, $i5, $i6, $i7, i8, $i9, $i10, $i11, $i12;
boolean z0, $z1, $z2;
java.util.concurrent.ConcurrentHashMap$HashEntry r3, r5, r6, $r10, $r13;
java.util.concurrent.ConcurrentHashMap$HashEntry[] r4;
java.lang.Throwable r9, $r15;
final java.lang.Object put(java.lang.Object, int, java.lang.Object, boolean)
{
java.util.concurrent.ConcurrentHashMap$Segment r0, $r12, $r14;
java.lang.Object r1, r2, r7, r8, $r11;
int i0, i1, $i2, $i3, $i4, $i5, $i6, $i7, i8, $i9, $i10, $i11, $i12;
boolean z0, $z1, $z2;
java.util.concurrent.ConcurrentHashMap$HashEntry r3, r5, r6, $r10, $r13;
java.util.concurrent.ConcurrentHashMap$HashEntry[] r4;
java.lang.Throwable r9, $r15;
BOOH: this
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40)
label1:
call void @"llvm.dbg.declare"(metadata %Object** %r0, metadata !40), !dbg !{i32 334, i32 0, !24, null}
%t5 = getelementptr %TrycatchContext* %t0, i32 0, i32 1
store i32 0, i32* %t5
store volatile %Object* %p1, %Object** %r0
store volatile %Object* %p2, %Object** %r1
store volatile i32 %p3, i32* %i0
store volatile %Object* %p4, %Object** %r2