@OS = internal global i64 6 @ARCH = internal global i64 4 @POINTER_SIZE = internal global i64 8 @g_held_view = internal global ptr null @__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null } @str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1 @str.1 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1 @jni.parent.path = private unnamed_addr constant [21 x i8] c"android/app/Activity\00", align 1 @str.2 = private unnamed_addr constant [7 x i8] c"\00", align 1 @str.3 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1 @jni.ctor.path = private unnamed_addr constant [25 x i8] c"android/view/SurfaceView\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 declare ptr @malloc(i64) declare void @free(ptr) declare ptr @memcpy(ptr, ptr, i64) declare ptr @memset(ptr, i32, i64) ; Function Attrs: nounwind define internal ptr @CAllocator.alloc(ptr %0, ptr %1, i64 %2) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %2, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 %call = call ptr @malloc(i64 %load) ret ptr %call } ; Function Attrs: nounwind define internal void @CAllocator.dealloc(ptr %0, ptr %1, ptr %2) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 %allocaN = alloca ptr, align 8 store ptr %2, ptr %allocaN, align 8 %load = load ptr, ptr %allocaN, align 8 call void @free(ptr %load) ret void } ; Function Attrs: nounwind declare i64 @GPA.init(ptr) #0 ; Function Attrs: nounwind declare ptr @GPA.alloc(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @GPA.dealloc(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare void @Arena.add_chunk(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @Arena.init(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @Arena.reset(ptr, ptr) #0 ; Function Attrs: nounwind declare void @Arena.deinit(ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @Arena.alloc(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @Arena.dealloc(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @BufAlloc.init(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @BufAlloc.reset(ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @BufAlloc.alloc(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @BufAlloc.dealloc(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare void @TrackingAllocator.init(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind declare i64 @TrackingAllocator.leak_count(ptr, ptr) #0 ; Function Attrs: nounwind declare void @TrackingAllocator.report(ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @TrackingAllocator.alloc(ptr, ptr, i64) #0 ; Function Attrs: nounwind declare void @TrackingAllocator.dealloc(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @cstring(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @uint_to_string(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @bool_to_string(ptr, i1) #0 ; Function Attrs: nounwind declare ptr @float_to_string(ptr, double) #0 ; Function Attrs: nounwind declare void @hex_group(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind declare [4 x i64] @decompose_u16x4(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_hex_string(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @concat(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @substr(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind declare ptr @xml_escape(ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @any_to_string(ptr, [2 x i64]) #0 ; Function Attrs: nounwind declare ptr @build_format(ptr, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.add_link_flag(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.add_framework(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_output_path(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_wasm_shell(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0 ; Function Attrs: nounwind declare i64 @BuildOptions.asset_dir_count(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_post_link_callback(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_post_link_module(i64, ptr) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.binary_path(i64) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_bundle_path(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_bundle_id(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_codesign_identity(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.bundle_path(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.bundle_id(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.codesign_identity(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.provisioning_profile(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.target_triple(i64) #0 ; Function Attrs: nounwind declare i1 @BuildOptions.is_macos(i64) #0 ; Function Attrs: nounwind declare i1 @BuildOptions.is_ios(i64) #0 ; Function Attrs: nounwind declare i1 @BuildOptions.is_ios_device(i64) #0 ; Function Attrs: nounwind declare i1 @BuildOptions.is_ios_simulator(i64) #0 ; Function Attrs: nounwind declare i1 @BuildOptions.is_android(i64) #0 ; Function Attrs: nounwind declare i64 @BuildOptions.framework_count(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.framework_at(i64, i64) #0 ; Function Attrs: nounwind declare i64 @BuildOptions.framework_path_count(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.framework_path_at(i64, i64) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_manifest_path(i64, ptr) #0 ; Function Attrs: nounwind declare void @BuildOptions.set_keystore_path(i64, ptr) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.manifest_path(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.keystore_path(i64) #0 ; Function Attrs: nounwind declare i64 @BuildOptions.jni_main_count(i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0 ; Function Attrs: nounwind declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0 ; Function Attrs: nounwind declare i64 @build_options() #0 ; Function Attrs: nounwind define i32 @main() #0 { entry: ret i32 0 } ; Function Attrs: nounwind define internal ptr @__thunk_CAllocator_Allocator_alloc(ptr %0, ptr %1, i64 %2) #0 { entry: %call = call ptr @CAllocator.alloc(ptr %0, ptr %1, i64 %2) ret ptr %call } ; Function Attrs: nounwind define internal void @__thunk_CAllocator_Allocator_dealloc(ptr %0, ptr %1, ptr %2) #0 { entry: call void @CAllocator.dealloc(ptr %0, ptr %1, ptr %2) ret void } ; Function Attrs: nounwind define void @Java_co_swipelab_sxjnictor_SxApp_sx_1onCreate(ptr %0, ptr %1, ptr %2) #0 { entry: %alloca = alloca ptr, align 8 store ptr %0, ptr %alloca, align 8 %allocaN = alloca ptr, align 8 store ptr %1, ptr %allocaN, align 8 %allocaN = alloca ptr, align 8 store ptr %2, ptr %allocaN, align 8 %load = load ptr, ptr %alloca, align 8 %loadN = load ptr, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 %jni.ifs = load ptr, ptr %load, align 8 %3 = getelementptr inbounds ptr, ptr %jni.ifs, i32 6 %jni.FindClass = load ptr, ptr %3, align 8 %jni.parent.cls = call ptr %jni.FindClass(ptr %load, ptr @jni.parent.path) %4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33 %jni.GetMethodID = load ptr, ptr %4, align 8 %jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.1) %jni.parent.cls.slot = alloca ptr, align 8 store ptr %jni.parent.cls, ptr %jni.parent.cls.slot, align 8 %5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 91 %jni.callfn.nonvirtual = load ptr, ptr %5, align 8 call void %jni.callfn.nonvirtual(ptr %load, ptr %loadN, ptr %jni.parent.cls, ptr %jni.mid, ptr %loadN) %allocaN = alloca ptr, align 8 %loadN = load ptr, ptr %allocaN, align 8 store ptr %loadN, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 %jni.ifs8 = load ptr, ptr %load, align 8 %6 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 6 %jni.FindClass9 = load ptr, ptr %6, align 8 %jni.ctor.cls = call ptr %jni.FindClass9(ptr %load, ptr @jni.ctor.path) %7 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 33 %jni.GetMethodID10 = load ptr, ptr %7, align 8 %jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.2, ptr @str.3) %8 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 28 %jni.NewObject = load ptr, ptr %8, align 8 %jni.new.obj = call ptr %jni.NewObject(ptr %load, ptr %jni.ctor.cls, ptr %jni.ctor.mid, ptr %loadN) %allocaN = alloca ptr, align 8 store ptr %jni.new.obj, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 store ptr %loadN, ptr @g_held_view, align 8 ret void }