This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'main' | |
source_filename = "main" | |
target triple = "x86_64-apple-macosx10.15.7" | |
%Dict = type { i8*, %Class.0*, %Array* } | |
%Class.0 = type { i8*, %Class.0*, %String*, %Object*, %Object* } | |
%String = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Int* } | |
%"Shiika::Internal::Ptr" = type { i8*, %Class.0*, i8* } | |
%Int = type { i8*, %Class.0*, i64 } | |
%Object = type { i8*, %Class.0* } | |
%Array = type { i8*, %Class.0*, %Int*, %Int*, %"Shiika::Internal::Ptr"* } | |
%Fn5 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%"Maybe::None" = type { i8*, %Class.0* } | |
%Fn7 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Void = type { i8*, %Class.0* } | |
%Math = type { i8*, %Class.0* } | |
%Fn9 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Fn1 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Triple = type { i8*, %Class.0*, %Object*, %Object*, %Object* } | |
%Error = type { i8*, %Class.0*, %String* } | |
%Metaclass = type { i8*, %Class.0*, %String*, %Object*, %Object* } | |
%Pair = type { i8*, %Class.0*, %Object*, %Object* } | |
%Never = type { i8*, %Class.0* } | |
%Fn2 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%"Result::Fail" = type { i8*, %Class.0*, %Object* } | |
%Fn6 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Bool = type { i8*, %Class.0*, i1 } | |
%"Result::Ok" = type { i8*, %Class.0*, %Object* } | |
%"Shiika::Internal::Memory" = type { i8*, %Class.0* } | |
%Fn0 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Fn = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Maybe = type { i8*, %Class.0* } | |
%Fn4 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%Enumerable = type { i8*, %Class.0* } | |
%Result = type { i8*, %Class.0* } | |
%File = type { i8*, %Class.0*, %String*, %Object* } | |
%Float = type { i8*, %Class.0*, double } | |
%Fn3 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
%"Maybe::Some" = type { i8*, %Class.0*, %Object* } | |
%"Dict::Table" = type { i8*, %Class.0*, %Array* } | |
%MutableString = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Int*, %Int* } | |
%Fn8 = type { i8*, %Class.0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*, %Int* } | |
@putd_tmpl = internal constant [4 x i8] c"%ld\00" | |
@putf_tmpl = internal constant [3 x i8] c"%f\00" | |
@str_0 = internal global [4 x i8] c"Fn2\00" | |
@str_1 = internal global [12 x i8] c"Maybe::None\00" | |
@str_2 = internal global [5 x i8] c"Pair\00" | |
@str_3 = internal global [4 x i8] c"Int\00" | |
@str_4 = internal global [25 x i8] c"Shiika::Internal::Memory\00" | |
@str_5 = internal global [5 x i8] c"Math\00" | |
@str_6 = internal global [3 x i8] c"Fn\00" | |
@str_7 = internal global [6 x i8] c"Maybe\00" | |
@str_8 = internal global [5 x i8] c"Dict\00" | |
@str_9 = internal global [4 x i8] c"Fn7\00" | |
@str_10 = internal global [4 x i8] c"Fn1\00" | |
@str_11 = internal global [4 x i8] c"Fn0\00" | |
@str_12 = internal global [6 x i8] c"Class\00" | |
@str_13 = internal global [4 x i8] c"Fn8\00" | |
@str_14 = internal global [4 x i8] c"Fn9\00" | |
@str_15 = internal global [4 x i8] c"Fn4\00" | |
@str_16 = internal global [5 x i8] c"File\00" | |
@str_17 = internal global [6 x i8] c"Float\00" | |
@str_18 = internal global [7 x i8] c"String\00" | |
@str_19 = internal global [4 x i8] c"Fn3\00" | |
@str_20 = internal global [13 x i8] c"Result::Fail\00" | |
@str_21 = internal global [12 x i8] c"Dict::Table\00" | |
@str_22 = internal global [7 x i8] c"Result\00" | |
@str_23 = internal global [22 x i8] c"Shiika::Internal::Ptr\00" | |
@str_24 = internal global [6 x i8] c"Array\00" | |
@str_25 = internal global [7 x i8] c"Object\00" | |
@str_26 = internal global [5 x i8] c"Void\00" | |
@str_27 = internal global [11 x i8] c"Enumerable\00" | |
@str_28 = internal global [4 x i8] c"Fn5\00" | |
@str_29 = internal global [12 x i8] c"Maybe::Some\00" | |
@str_30 = internal global [7 x i8] c"Triple\00" | |
@str_31 = internal global [6 x i8] c"Error\00" | |
@str_32 = internal global [14 x i8] c"MutableString\00" | |
@str_33 = internal global [10 x i8] c"Metaclass\00" | |
@str_34 = internal global [4 x i8] c"Fn6\00" | |
@str_35 = internal global [11 x i8] c"Result::Ok\00" | |
@str_36 = internal global [5 x i8] c"Bool\00" | |
@str_37 = internal global [6 x i8] c"Never\00" | |
@str_38 = internal global [25 x i8] c"no matching clause found\00" | |
@str_39 = internal global [25 x i8] c"no matching clause found\00" | |
@str_40 = internal global [2 x i8] c">\00" | |
@str_41 = internal global [8 x i8] c"#<Some \00" | |
@str_42 = internal global [8 x i8] c"#<None>\00" | |
@str_43 = internal global [25 x i8] c"no matching clause found\00" | |
@str_44 = internal global [34 x i8] c"[Array#[]=: index less than zero]\00" | |
@str_45 = internal global [29 x i8] c"[Array#[]=: index too large]\00" | |
@str_46 = internal global [2 x i8] c"[\00" | |
@str_47 = internal global [3 x i8] c", \00" | |
@str_48 = internal global [2 x i8] c"]\00" | |
@str_49 = internal global [28 x i8] c"[Array#pop: array is empty]\00" | |
@str_50 = internal global [5 x i8] c"true\00" | |
@str_51 = internal global [6 x i8] c"false\00" | |
@str_52 = internal global [2 x i8] c">\00" | |
@str_53 = internal global [9 x i8] c"#<class \00" | |
@str_54 = internal global [2 x i8] c"-\00" | |
@str_55 = internal global [10 x i8] c"Metaclass\00" | |
@str_56 = internal global [10 x i8] c"Metaclass\00" | |
@str_57 = internal global [6 x i8] c"Meta:\00" | |
@str_58 = internal global [2 x i8] c">\00" | |
@str_59 = internal global [13 x i8] c"#<metaclass \00" | |
@str_60 = internal global [40 x i8] c"[String#nth_byte: index less than zero]\00" | |
@str_61 = internal global [35 x i8] c"[String#nth_byte: index too large]\00" | |
@str_62 = internal global [42 x i8] c"[String#write_byte: index less than zero]\00" | |
@str_63 = internal global [41 x i8] c"[String#write_byte: byte less than zero]\00" | |
@str_64 = internal global [42 x i8] c"[String#write_byte: byte larger than 255]\00" | |
@str_65 = internal global [40 x i8] c"[`<` is not implemented for this class]\00" | |
@str_66 = internal global [2 x i8] c">\00" | |
@str_67 = internal global [2 x i8] c":\00" | |
@str_68 = internal global [3 x i8] c"#<\00" | |
@str_69 = internal global [2 x i8] c"\22\00" | |
@str_70 = internal global [2 x i8] c"\22\00" | |
@str_71 = internal global [2 x i8] c"\0A\00" | |
@str_72 = internal global [40 x i8] c"[String#nth_byte: index less than zero]\00" | |
@str_73 = internal global [35 x i8] c"[String#nth_byte: index too large]\00" | |
@str_74 = internal global [3 x i8] c")]\00" | |
@str_75 = internal global [10 x i8] c", bytes: \00" | |
@str_76 = internal global [54 x i8] c"[String#slice_bytes: `from` is less than zero (from: \00" | |
@str_77 = internal global [3 x i8] c")]\00" | |
@str_78 = internal global [18 x i8] c", self.bytesize: \00" | |
@str_79 = internal global [10 x i8] c", bytes: \00" | |
@str_80 = internal global [54 x i8] c"[String#slice_bytes: `from + bytes` too large (from: \00" | |
@str_81 = internal global [2 x i8] c"+\00" | |
@str_82 = internal global [2 x i8] c"-\00" | |
@str_83 = internal global [5 x i8] c"Void\00" | |
@"::Dict" = global %Dict* null | |
@"::Fn5" = global %Fn5* null | |
@"::Maybe::None" = global %"Maybe::None"* null | |
@"::Fn7" = global %Fn7* null | |
@"::Void" = global %Void* null | |
@"::Math" = global %Math* null | |
@"::Fn9" = global %Fn9* null | |
@"::Object" = global %Object* null | |
@"::Fn1" = global %Fn1* null | |
@"::Triple" = global %Triple* null | |
@"::Error" = global %Error* null | |
@"::Metaclass" = global %Metaclass* null | |
@"::None" = global %"Maybe::None"* null | |
@"::Pair" = global %Pair* null | |
@"::Never" = global %Never* null | |
@"::Fn2" = global %Fn2* null | |
@"::Result::Fail" = global %"Result::Fail"* null | |
@"::Fn6" = global %Fn6* null | |
@"::Bool" = global %Bool* null | |
@"::Ok" = global %"Result::Ok"* null | |
@"::Shiika::Internal::Memory" = global %"Shiika::Internal::Memory"* null | |
@"::Array::BYTES_OF_PTR" = global %Int* null | |
@"::Array" = global %Array* null | |
@"::Int" = global %Int* null | |
@"::Fn0" = global %Fn0* null | |
@"::Result::Ok" = global %"Result::Ok"* null | |
@"::Fn::EXIT_NORMAL" = global %Int* null | |
@"::Fn" = global %Fn* null | |
@"::Dict::N_TABLES" = global %Int* null | |
@"::Maybe" = global %Maybe* null | |
@"::Fn4" = global %Fn4* null | |
@"::Class" = global %Class.0* null | |
@"::Enumerable" = global %Enumerable* null | |
@"::Fail" = global %"Result::Fail"* null | |
@"::String" = global %String* null | |
@"::Result" = global %Result* null | |
@"::File" = global %File* null | |
@"::Float" = global %Float* null | |
@"::Fn3" = global %Fn3* null | |
@"::Fn::EXIT_BREAK" = global %Int* null | |
@"::Some" = global %"Maybe::Some"* null | |
@"::Dict::Table" = global %"Dict::Table"* null | |
@"::Maybe::Some" = global %"Maybe::Some"* null | |
@"::Array::INITIAL_CAPA" = global %Int* null | |
@"::Shiika::Internal::Ptr" = global %"Shiika::Internal::Ptr"* null | |
@"::MutableString" = global %MutableString* null | |
@"::MutableString::INITIAL_STR_CAPA" = global %Int* null | |
@"::Fn8" = global %Fn8* null | |
@shiika_vtable_Fn0 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Fn6 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Fn7 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@"shiika_vtable_Meta:Int" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Int* (%Int*)* @Meta_Int_new to i8*)] | |
@"shiika_vtable_Meta:Pair" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Pair* (%Pair*, %Object*, %Object*)* @Meta_Pair_new to i8*)] | |
@"shiika_vtable_Meta:Never" = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@"shiika_vtable_Meta:Fn" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn_new to i8*)] | |
@shiika_vtable_Never = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@"shiika_vtable_Result::Ok" = constant [18 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%"Result::Ok"*, %Object*)* @Result_Ok_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%"Result::Ok"*)* @Result_Ok_value to i8*), i8* bitcast (%Object* (%"Result::Ok"*, %Object*)* @_set_Result_Ok_value to i8*)] | |
@shiika_vtable_Fn4 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@"shiika_vtable_Meta:Float" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Float* (%Float*)* @Meta_Float_new to i8*)] | |
@shiika_vtable_String = constant [35 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%String*, %String*)* @String_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%String*, %"Shiika::Internal::Ptr"*, %Int*)* @String_initialize to i8*), i8* bitcast (%String* (%String*)* @String_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%String*)* @String_to__s to i8*), i8* bitcast (%String* (%String*, %Int*)* @String_mul_ to i8*), i8* bitcast (%String* (%String*, %String*)* @String_add_ to i8*), i8* bitcast (%Array* (%String*)* @String_bytes to i8*), i8* bitcast (%Int* (%String*)* @String_bytesize to i8*), i8* bitcast (%Int* (%String*, %Int*)* @_set_String_bytesize to i8*), i8* bitcast (%Void* (%String*, %Fn1*)* @String_each__byte to i8*), i8* bitcast (%Void* (%String*, %Fn1*)* @String_each__char to i8*), i8* bitcast (%Void* (%String*, %Fn1*)* @String_each__line to i8*), i8* bitcast (%Bool* (%String*)* @"String_empty?" to i8*), i8* bitcast (%Bool* (%String*, %String*)* @"String_ends__with?" to i8*), i8* bitcast (%Array* (%String*)* @String_lines to i8*), i8* bitcast (%Int* (%String*, %Int*)* @String_nth__byte to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%String*)* @String_ptr to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%String*, %"Shiika::Internal::Ptr"*)* @_set_String_ptr to i8*), i8* bitcast (%String* (%String*, %Int*, %Int*)* @String_slice__bytes to i8*), i8* bitcast (%Array* (%String*, %String*)* @String_split to i8*), i8* bitcast (%Bool* (%String*, %String*)* @"String_starts__with?" to i8*), i8* bitcast (%Int* (%String*)* @String_to__i to i8*), i8* bitcast (%MutableString* (%String*)* @String_to__mutable to i8*)] | |
@shiika_vtable_Void = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Void*)* @Void_to__s to i8*)] | |
@shiika_vtable_Fn5 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Dict = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Dict*)* @Dict_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Maybe* (%Dict*, %Object*)* @Dict_aref_ to i8*), i8* bitcast (%Void* (%Dict*, %Object*, %Object*)* @Dict_aset_ to i8*), i8* bitcast (%"Dict::Table"* (%Dict*, %Object*)* @Dict___table to i8*), i8* bitcast (%Bool* (%Dict*, %Object*)* @"Dict_has__key?" to i8*), i8* bitcast (%Array* (%Dict*)* @Dict_keys to i8*), i8* bitcast (%Array* (%Dict*)* @Dict_tables to i8*), i8* bitcast (%Array* (%Dict*, %Array*)* @_set_Dict_tables to i8*), i8* bitcast (%Array* (%Dict*)* @Dict_values to i8*)] | |
@"shiika_vtable_Meta:Dict" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Dict* (%Dict*)* @Meta_Dict_new to i8*)] | |
@"shiika_vtable_Meta:Fn1" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn1* (%Fn1*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn1_new to i8*)] | |
@shiika_vtable_Float = constant [25 x i8*] [i8* bitcast (%Bool* (%Float*, %Float*)* @Float_lt_ to i8*), i8* bitcast (%Bool* (%Float*, %Float*)* @Float_le_ to i8*), i8* bitcast (%Bool* (%Float*, %Float*)* @Float_eq_ to i8*), i8* bitcast (%Bool* (%Float*, %Float*)* @Float_gt_ to i8*), i8* bitcast (%Bool* (%Float*, %Float*)* @Float_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Float*)* @Float_to__s to i8*), i8* bitcast (%Float* (%Float*, %Int*)* @Float_mod_ to i8*), i8* bitcast (%Float* (%Float*, %Float*)* @Float_mul_ to i8*), i8* bitcast (%Float* (%Float*, %Float*)* @Float_add_ to i8*), i8* bitcast (%Float* (%Float*, %Float*)* @Float_sub_ to i8*), i8* bitcast (%Float* (%Float*)* @Float_uminus_ to i8*), i8* bitcast (%Float* (%Float*, %Float*)* @Float_div_ to i8*), i8* bitcast (%Float* (%Float*)* @Float_abs to i8*), i8* bitcast (%Float* (%Float*)* @Float_floor to i8*), i8* bitcast (%Int* (%Float*)* @Float_to__i to i8*)] | |
@"shiika_vtable_Meta:Maybe::Some" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Maybe::Some"* (%"Maybe::Some"*, %Object*)* @Meta_Maybe_Some_new to i8*)] | |
@shiika_vtable_Pair = constant [20 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Pair*, %Object*, %Object*)* @Pair_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Pair*)* @Pair_fst to i8*), i8* bitcast (%Object* (%Pair*, %Object*)* @_set_Pair_fst to i8*), i8* bitcast (%Object* (%Pair*)* @Pair_snd to i8*), i8* bitcast (%Object* (%Pair*, %Object*)* @_set_Pair_snd to i8*)] | |
@"shiika_vtable_Meta:Array" = constant [25 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Array* (%Array*, %Int*, %Fn1*)* @Meta_Array_build to i8*), i8* bitcast (%Array* (%Array*)* @Meta_Array_new to i8*), i8* bitcast (%Array* (%Array*, %Object*, %Int*)* @Meta_Array_repeat to i8*)] | |
@"shiika_vtable_Meta:Object" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Object* (%Object*)* @Meta_Object_new to i8*)] | |
@"shiika_vtable_Meta:Fn9" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn9* (%Fn9*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn9_new to i8*)] | |
@"shiika_vtable_Meta:Enumerable" = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@"shiika_vtable_Shiika::Internal::Memory" = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@shiika_vtable_Fn3 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Fn8 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@"shiika_vtable_Meta:Fn2" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn2* (%Fn2*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn2_new to i8*)] | |
@shiika_vtable_Error = constant [18 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Error*, %String*)* @Error_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%String* (%Error*)* @Error_msg to i8*), i8* bitcast (%String* (%Error*, %String*)* @_set_Error_msg to i8*)] | |
@"shiika_vtable_Dict::Table" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%"Dict::Table"*)* @Dict_Table_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Maybe* (%"Dict::Table"*, %Object*)* @Dict_Table_aref_ to i8*), i8* bitcast (%Void* (%"Dict::Table"*, %Object*, %Object*)* @Dict_Table_aset_ to i8*), i8* bitcast (%Bool* (%"Dict::Table"*, %Object*)* @"Dict_Table_has__key?" to i8*), i8* bitcast (%Array* (%"Dict::Table"*)* @Dict_Table_keys to i8*), i8* bitcast (%Array* (%"Dict::Table"*)* @Dict_Table_pairs to i8*), i8* bitcast (%Array* (%"Dict::Table"*, %Array*)* @_set_Dict_Table_pairs to i8*), i8* bitcast (%Array* (%"Dict::Table"*)* @Dict_Table_values to i8*)] | |
@"shiika_vtable_Meta:Dict::Table" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Dict::Table"* (%"Dict::Table"*)* @Meta_Dict_Table_new to i8*)] | |
@shiika_vtable_Class = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@"shiika_vtable_Meta:String" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%String* (%String*, %"Shiika::Internal::Ptr"*, %Int*)* @Meta_String_new to i8*)] | |
@shiika_vtable_Fn9 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Math = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@"shiika_vtable_Meta:Bool" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Bool* (%Bool*)* @Meta_Bool_new to i8*)] | |
@"shiika_vtable_Meta:Fn3" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn3* (%Fn3*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn3_new to i8*)] | |
@"shiika_vtable_Meta:Maybe" = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@"shiika_vtable_Meta:MutableString" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%MutableString* (%MutableString*)* @Meta_MutableString_new to i8*)] | |
@"shiika_vtable_Meta:Fn6" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn6* (%Fn6*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn6_new to i8*)] | |
@shiika_vtable_Object = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@"shiika_vtable_Maybe::Some" = constant [20 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%"Maybe::Some"*, %Object*)* @Maybe_Some_initialize to i8*), i8* bitcast (%String* (%Maybe*)* @Maybe_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Maybe*, %String*)* @Maybe_expect to i8*), i8* bitcast (%Maybe* (%Maybe*, %Fn1*)* @Maybe_map to i8*), i8* bitcast (%Object* (%"Maybe::Some"*)* @Maybe_Some_value to i8*), i8* bitcast (%Object* (%"Maybe::Some"*, %Object*)* @_set_Maybe_Some_value to i8*)] | |
@shiika_vtable_Metaclass = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Metaclass*)* @Metaclass_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Metaclass*)* @Metaclass_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Metaclass* (%Metaclass*, %String*, %Object*, %Metaclass*)* @Metaclass_new to i8*)] | |
@"shiika_vtable_Maybe::None" = constant [18 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%"Maybe::None"*)* @Maybe_None_initialize to i8*), i8* bitcast (%String* (%Maybe*)* @Maybe_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Maybe*, %String*)* @Maybe_expect to i8*), i8* bitcast (%Maybe* (%Maybe*, %Fn1*)* @Maybe_map to i8*)] | |
@"shiika_vtable_Meta:Fn7" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn7* (%Fn7*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn7_new to i8*)] | |
@shiika_vtable_MutableString = constant [28 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%MutableString*)* @MutableString_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%MutableString*)* @MutableString_to__s to i8*), i8* bitcast (%Void* (%MutableString*, %Int*)* @MutableString___realloc__if__needed to i8*), i8* bitcast (%String* (%MutableString*)* @MutableString___unsafe__to__s to i8*), i8* bitcast (%Void* (%MutableString*, %String*)* @MutableString_append to i8*), i8* bitcast (%Void* (%MutableString*, %Int*)* @MutableString_append__byte to i8*), i8* bitcast (%Int* (%MutableString*)* @MutableString_bytesize to i8*), i8* bitcast (%Int* (%MutableString*, %Int*)* @_set_MutableString_bytesize to i8*), i8* bitcast (%Int* (%MutableString*)* @MutableString_capa to i8*), i8* bitcast (%Int* (%MutableString*, %Int*)* @_set_MutableString_capa to i8*), i8* bitcast (%Int* (%MutableString*, %Int*)* @MutableString_nth__byte to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%MutableString*)* @MutableString_ptr to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%MutableString*, %"Shiika::Internal::Ptr"*)* @_set_MutableString_ptr to i8*), i8* bitcast (%Void* (%MutableString*, %Int*, %Int*)* @MutableString_write__byte to i8*)] | |
@"shiika_vtable_Meta:Result::Fail" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Result::Fail"* (%"Result::Fail"*, %Object*)* @Meta_Result_Fail_new to i8*)] | |
@"shiika_vtable_Shiika::Internal::Ptr" = constant [21 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%"Shiika::Internal::Ptr"*, %Int*)* @Shiika_Internal_Ptr_add_ to i8*), i8* bitcast (%Object* (%"Shiika::Internal::Ptr"*)* @Shiika_Internal_Ptr_load to i8*), i8* bitcast (%Int* (%"Shiika::Internal::Ptr"*)* @Shiika_Internal_Ptr_read to i8*), i8* bitcast (%Void* (%"Shiika::Internal::Ptr"*, %Object*)* @Shiika_Internal_Ptr_store to i8*), i8* bitcast (%Void* (%"Shiika::Internal::Ptr"*, %Int*)* @Shiika_Internal_Ptr_write to i8*)] | |
@"shiika_vtable_Meta:Void" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Void* (%Void*)* @Meta_Void_new to i8*)] | |
@"shiika_vtable_Meta:Class" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Class.0* (%Class.0*, %String*, %Object*, %Metaclass*)* @Meta_Class_new to i8*)] | |
@"shiika_vtable_Meta:Fn8" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn8* (%Fn8*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn8_new to i8*)] | |
@"shiika_vtable_Meta:File" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%File* (%File*, %String*, %Object*)* @Meta_File_new to i8*)] | |
@"shiika_vtable_Meta:Math" = constant [25 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Float* (%Math*, %Float*)* @Meta_Math_cos to i8*), i8* bitcast (%Float* (%Math*, %Float*)* @Meta_Math_sin to i8*), i8* bitcast (%Float* (%Math*, %Float*)* @Meta_Math_sqrt to i8*)] | |
@shiika_vtable_Bool = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Bool*)* @Bool_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@shiika_vtable_File = constant [20 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%File*, %String*, %Object*)* @File_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%File*)* @File_file to i8*), i8* bitcast (%Object* (%File*, %Object*)* @_set_File_file to i8*), i8* bitcast (%String* (%File*)* @File_path to i8*), i8* bitcast (%String* (%File*, %String*)* @_set_File_path to i8*)] | |
@"shiika_vtable_Meta:Triple" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Triple* (%Triple*, %Object*, %Object*, %Object*)* @Meta_Triple_new to i8*)] | |
@"shiika_vtable_Meta:Fn4" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn4* (%Fn4*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn4_new to i8*)] | |
@shiika_vtable_Triple = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Triple*, %Object*, %Object*, %Object*)* @Triple_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Triple*)* @Triple_fst to i8*), i8* bitcast (%Object* (%Triple*, %Object*)* @_set_Triple_fst to i8*), i8* bitcast (%Object* (%Triple*)* @Triple_snd to i8*), i8* bitcast (%Object* (%Triple*, %Object*)* @_set_Triple_snd to i8*), i8* bitcast (%Object* (%Triple*)* @Triple_thd to i8*), i8* bitcast (%Object* (%Triple*, %Object*)* @_set_Triple_thd to i8*)] | |
@"shiika_vtable_Meta:Fn0" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn0* (%Fn0*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn0_new to i8*)] | |
@"shiika_vtable_Meta:Shiika::Internal::Memory" = constant [25 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%"Shiika::Internal::Memory"*, %Int*)* @Meta_Shiika_Internal_Memory_gc__malloc to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%"Shiika::Internal::Memory"*, %"Shiika::Internal::Ptr"*, %Int*)* @Meta_Shiika_Internal_Memory_gc__realloc to i8*), i8* bitcast (%Void* (%"Shiika::Internal::Memory"*, %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"*, %Int*)* @Meta_Shiika_Internal_Memory_memcpy to i8*)] | |
@"shiika_vtable_Meta:Maybe::None" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Maybe::None"* (%"Maybe::None"*)* @Meta_Maybe_None_new to i8*)] | |
@shiika_vtable_Result = constant [16 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*)] | |
@"shiika_vtable_Meta:Result::Ok" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%"Result::Ok"* (%"Result::Ok"*, %Object*)* @Meta_Result_Ok_new to i8*)] | |
@"shiika_vtable_Meta:Fn5" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Fn5* (%Fn5*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Meta_Fn5_new to i8*)] | |
@shiika_vtable_Fn1 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@"shiika_vtable_Result::Fail" = constant [18 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%"Result::Fail"*, %Object*)* @Result_Fail_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%"Result::Fail"*)* @Result_Fail_err to i8*), i8* bitcast (%Object* (%"Result::Fail"*, %Object*)* @_set_Result_Fail_err to i8*)] | |
@"shiika_vtable_Meta:Result" = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@shiika_vtable_Fn = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@"shiika_vtable_Meta:Shiika::Internal::Ptr" = constant [22 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*)] | |
@"shiika_vtable_Meta:Error" = constant [23 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Class.0*, %String*, %Object*, %Metaclass*)* @Class_initialize to i8*), i8* bitcast (%String* (%Class.0*)* @Class_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Class.0*)* @Class_to__s to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class_lt_gt_ to i8*), i8* bitcast (%Object* (%Class.0*, %Object*, %Object*)* @Class___initialize__rustlib to i8*), i8* bitcast (%Class.0* (%Class.0*, %Array*)* @Class___specialize1 to i8*), i8* bitcast (%Class.0* (%Class.0*, %Int*)* @Class___type__argument to i8*), i8* bitcast (%String* (%Class.0*)* @Class_name to i8*), i8* bitcast (%String* (%Class.0*, %String*)* @_set_Class_name to i8*), i8* bitcast (%Error* (%Error*, %String*)* @Meta_Error_new to i8*)] | |
@shiika_vtable_Fn2 = constant [24 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Fn*, %"Shiika::Internal::Ptr"*, %Object*, %Array*)* @Fn_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Array* (%Fn*)* @Fn_captures to i8*), i8* bitcast (%Array* (%Fn*, %Array*)* @_set_Fn_captures to i8*), i8* bitcast (%Int* (%Fn*)* @Fn_exit__status to i8*), i8* bitcast (%Int* (%Fn*, %Int*)* @_set_Fn_exit__status to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*)* @Fn_func to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Fn*, %"Shiika::Internal::Ptr"*)* @_set_Fn_func to i8*), i8* bitcast (%Object* (%Fn*)* @Fn_the__self to i8*), i8* bitcast (%Object* (%Fn*, %Object*)* @_set_Fn_the__self to i8*)] | |
@shiika_vtable_Array = constant [54 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Array*, %Array*)* @Array_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Array*)* @Array_initialize to i8*), i8* bitcast (%String* (%Array*)* @Array_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Array*, %Int*)* @Array_aref_ to i8*), i8* bitcast (%Void* (%Array*, %Int*, %Object*)* @Array_aset_ to i8*), i8* bitcast (%Int* (%Array*, %Int*, %Int*)* @Array___choose__pivot to i8*), i8* bitcast (%Int* (%Array*, %Int*, %Int*, %Object*)* @Array___partition to i8*), i8* bitcast (%Void* (%Array*, %Int*, %Int*)* @Array___quicksort to i8*), i8* bitcast (%Bool* (%Array*, %Fn1*)* @"Array_all?" to i8*), i8* bitcast (%Bool* (%Array*, %Fn1*)* @"Array_any?" to i8*), i8* bitcast (%Void* (%Array*, %Array*)* @Array_append to i8*), i8* bitcast (%Int* (%Array*)* @Array_capa to i8*), i8* bitcast (%Int* (%Array*, %Int*)* @_set_Array_capa to i8*), i8* bitcast (%Void* (%Array*)* @Array_clear to i8*), i8* bitcast (%Array* (%Array*)* @Array_clone to i8*), i8* bitcast (%Array* (%Array*, %Int*)* @Array_drop to i8*), i8* bitcast (%Void* (%Array*, %Fn1*)* @Array_each to i8*), i8* bitcast (%Bool* (%Array*)* @"Array_empty?" to i8*), i8* bitcast (%Maybe* (%Array*)* @Array_first to i8*), i8* bitcast (%Array* (%Array*, %Fn1*)* @Array_flat__map to i8*), i8* bitcast (%Object* (%Array*, %Object*, %Fn2*)* @Array_fold to i8*), i8* bitcast (%Bool* (%Array*, %Object*)* @"Array_includes?" to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Array*)* @Array_items to i8*), i8* bitcast (%"Shiika::Internal::Ptr"* (%Array*, %"Shiika::Internal::Ptr"*)* @_set_Array_items to i8*), i8* bitcast (%String* (%Array*, %String*)* @Array_join to i8*), i8* bitcast (%Maybe* (%Array*)* @Array_last to i8*), i8* bitcast (%Int* (%Array*)* @Array_length to i8*), i8* bitcast (%Array* (%Array*, %Fn1*)* @Array_map to i8*), i8* bitcast (%Int* (%Array*)* @Array_n__items to i8*), i8* bitcast (%Int* (%Array*, %Int*)* @_set_Array_n__items to i8*), i8* bitcast (%Bool* (%Array*, %Fn1*)* @"Array_none?" to i8*), i8* bitcast (%Object* (%Array*)* @Array_pop to i8*), i8* bitcast (%Void* (%Array*, %Object*)* @Array_push to i8*), i8* bitcast (%Array* (%Array*, %Fn1*)* @Array_reject to i8*), i8* bitcast (%Void* (%Array*, %Int*)* @Array_reserve to i8*), i8* bitcast (%Array* (%Array*)* @Array_reverse to i8*), i8* bitcast (%Void* (%Array*, %Fn1*)* @Array_reverse__each to i8*), i8* bitcast (%Array* (%Array*, %Fn1*)* @Array_select to i8*), i8* bitcast (%Maybe* (%Array*)* @Array_shift to i8*), i8* bitcast (%Array* (%Array*)* @Array_sort to i8*), i8* bitcast (%Void* (%Array*)* @Array_sort__inplace to i8*)] | |
@shiika_vtable_Maybe = constant [18 x i8*] [i8* bitcast (%Bool* (%Object*, %Object*)* @Object_lt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_le_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_eq_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_gt_ to i8*), i8* bitcast (%Bool* (%Object*, %Object*)* @Object_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Object*)* @Object_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Maybe*)* @Maybe_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Object*)* @Object_to__s to i8*), i8* bitcast (%Object* (%Maybe*, %String*)* @Maybe_expect to i8*), i8* bitcast (%Maybe* (%Maybe*, %Fn1*)* @Maybe_map to i8*)] | |
@shiika_vtable_Int = constant [35 x i8*] [i8* bitcast (%Bool* (%Int*, %Int*)* @Int_lt_ to i8*), i8* bitcast (%Bool* (%Int*, %Int*)* @Int_le_ to i8*), i8* bitcast (%Bool* (%Int*, %Int*)* @Int_eq_ to i8*), i8* bitcast (%Bool* (%Int*, %Int*)* @Int_gt_ to i8*), i8* bitcast (%Bool* (%Int*, %Int*)* @Int_ge_ to i8*), i8* bitcast (%Class.0* (%Object*)* @Object_class to i8*), i8* bitcast (void (%Object*, %Int*)* @Object_exit to i8*), i8* bitcast (%Int* (%Int*)* @Int_hash to i8*), i8* bitcast (%Void* (%Object*)* @Object_initialize to i8*), i8* bitcast (%String* (%Object*)* @Object_inspect to i8*), i8* bitcast (%Int* (%Object*)* @Object_object__id to i8*), i8* bitcast (%Void* (%Object*, %Object*)* @Object_p to i8*), i8* bitcast (void (%Object*, %String*)* @Object_panic to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_print to i8*), i8* bitcast (%Void* (%Object*, %String*)* @Object_puts to i8*), i8* bitcast (%String* (%Int*)* @Int_to__s to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_mod_ to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_mul_ to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_add_ to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_sub_ to i8*), i8* bitcast (%Int* (%Int*)* @Int_uminus_ to i8*), i8* bitcast (%Float* (%Int*, %Int*)* @Int_div_ to i8*), i8* bitcast (%Int* (%Int*)* @Int_abs to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_and to i8*), i8* bitcast (%Void* (%Int*, %Int*, %Fn1*)* @Int_downto to i8*), i8* bitcast (%Bool* (%Int*)* @"Int_even?" to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_lshift to i8*), i8* bitcast (%Bool* (%Int*)* @"Int_odd?" to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_or to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_rshift to i8*), i8* bitcast (%Void* (%Int*, %Fn1*)* @Int_times to i8*), i8* bitcast (%Float* (%Int*)* @Int_to__f to i8*), i8* bitcast (%Int* (%Int*)* @Int_to__i to i8*), i8* bitcast (%Void* (%Int*, %Int*, %Fn1*)* @Int_upto to i8*), i8* bitcast (%Int* (%Int*, %Int*)* @Int_xor to i8*)] | |
declare void @GC_init() | |
declare i8* @shiika_malloc(i64) | |
declare i8* @shiika_realloc(i8*, i64) | |
declare i8* @shiika_lookup_wtable(i8*, i64, i64) | |
define %Bool* @box_bool(i1 %0) { | |
%class_obj = load %Bool*, %Bool** @"::Bool", align 8 | |
%mem = call i8* @shiika_malloc(i64 ptrtoint (%Bool* getelementptr (%Bool, %Bool* null, i32 1) to i64)) | |
%sk_bool = bitcast i8* %mem to %Bool* | |
%addr_vtable = getelementptr inbounds %Bool, %Bool* %sk_bool, i32 0, i32 0 | |
store i8* bitcast ([16 x i8*]* @shiika_vtable_Bool to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Bool* %class_obj to %Class.0* | |
%addr_my_class = getelementptr inbounds %Bool, %Bool* %sk_bool, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%"addr_@llvm_bool" = getelementptr inbounds %Bool, %Bool* %sk_bool, i32 0, i32 2 | |
store i1 %0, i1* %"addr_@llvm_bool", align 1 | |
ret %Bool* %sk_bool | |
} | |
define i1 @unbox_bool(%Bool* %0) { | |
%"addr_@llvm_bool" = getelementptr inbounds %Bool, %Bool* %0, i32 0, i32 2 | |
%"@llvm_bool" = load i1, i1* %"addr_@llvm_bool", align 1 | |
ret i1 %"@llvm_bool" | |
} | |
define %Int* @box_int(i64 %0) { | |
%class_obj = load %Int*, %Int** @"::Int", align 8 | |
%mem = call i8* @shiika_malloc(i64 ptrtoint (%Int* getelementptr (%Int, %Int* null, i32 1) to i64)) | |
%sk_int = bitcast i8* %mem to %Int* | |
%addr_vtable = getelementptr inbounds %Int, %Int* %sk_int, i32 0, i32 0 | |
store i8* bitcast ([35 x i8*]* @shiika_vtable_Int to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Int* %class_obj to %Class.0* | |
%addr_my_class = getelementptr inbounds %Int, %Int* %sk_int, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%"addr_@llvm_int" = getelementptr inbounds %Int, %Int* %sk_int, i32 0, i32 2 | |
store i64 %0, i64* %"addr_@llvm_int", align 4 | |
ret %Int* %sk_int | |
} | |
define i64 @unbox_int(%Int* %0) { | |
%"addr_@llvm_int" = getelementptr inbounds %Int, %Int* %0, i32 0, i32 2 | |
%"@llvm_int" = load i64, i64* %"addr_@llvm_int", align 4 | |
ret i64 %"@llvm_int" | |
} | |
define %Float* @box_float(double %0) { | |
%class_obj = load %Float*, %Float** @"::Float", align 8 | |
%mem = call i8* @shiika_malloc(i64 ptrtoint (%Float* getelementptr (%Float, %Float* null, i32 1) to i64)) | |
%sk_float = bitcast i8* %mem to %Float* | |
%addr_vtable = getelementptr inbounds %Float, %Float* %sk_float, i32 0, i32 0 | |
store i8* bitcast ([25 x i8*]* @shiika_vtable_Float to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Float* %class_obj to %Class.0* | |
%addr_my_class = getelementptr inbounds %Float, %Float* %sk_float, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%"addr_@llvm_float" = getelementptr inbounds %Float, %Float* %sk_float, i32 0, i32 2 | |
store double %0, double* %"addr_@llvm_float", align 8 | |
ret %Float* %sk_float | |
} | |
define double @unbox_float(%Float* %0) { | |
%"addr_@llvm_float" = getelementptr inbounds %Float, %Float* %0, i32 0, i32 2 | |
%"@llvm_float" = load double, double* %"addr_@llvm_float", align 8 | |
ret double %"@llvm_float" | |
} | |
define %"Shiika::Internal::Ptr"* @box_i8ptr(i8* %0) { | |
%class_obj = load %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"** @"::Shiika::Internal::Ptr", align 8 | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 3)) | |
%sk_ptr = bitcast i8* %mem to %"Shiika::Internal::Ptr"* | |
%addr_vtable = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %sk_ptr, i32 0, i32 0 | |
store i8* bitcast ([21 x i8*]* @"shiika_vtable_Shiika::Internal::Ptr" to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %"Shiika::Internal::Ptr"* %class_obj to %Class.0* | |
%addr_my_class = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %sk_ptr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%"addr_@llvm_i8ptr" = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %sk_ptr, i32 0, i32 2 | |
store i8* %0, i8** %"addr_@llvm_i8ptr", align 8 | |
ret %"Shiika::Internal::Ptr"* %sk_ptr | |
} | |
define i8* @unbox_i8ptr(%"Shiika::Internal::Ptr"* %0) { | |
%"addr_@llvm_i8ptr" = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %0, i32 0, i32 2 | |
%"@llvm_i8ptr" = load i8*, i8** %"addr_@llvm_i8ptr", align 8 | |
ret i8* %"@llvm_i8ptr" | |
} | |
define %String* @gen_literal_string(i8* %0, i64 %1) { | |
%"::String" = load %String*, %String** @"::String", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* %0) | |
%sk_int = call %Int* @box_int(i64 %1) | |
%sk_str = call %String* @Meta_String_new(%String* %"::String", %"Shiika::Internal::Ptr"* %sk_ptr, %Int* %sk_int) | |
ret %String* %sk_str | |
} | |
define %Void* @Triple_initialize(%Triple* %self, %Object* %"@fst", %Object* %"@snd", %Object* %"@thd") { | |
%"addr_@fst" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 2 | |
store %Object* %"@fst", %Object** %"addr_@fst", align 8 | |
%"addr_@snd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 3 | |
store %Object* %"@snd", %Object** %"addr_@snd", align 8 | |
%"addr_@thd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 4 | |
store %Object* %"@thd", %Object** %"addr_@thd", align 8 | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
End: ; preds = %Ret | |
%"::Void1" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void1" | |
Ret: ; preds = %0 | |
br label %End | |
} | |
define %Object* @Triple_fst(%Triple* %self) { | |
%"addr_@fst" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 2 | |
%"@fst" = load %Object*, %Object** %"addr_@fst", align 8 | |
ret %Object* %"@fst" | |
} | |
define %Object* @_set_Triple_fst(%Triple* %self, %Object* %fst) { | |
%"addr_@fst" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 2 | |
store %Object* %fst, %Object** %"addr_@fst", align 8 | |
ret %Object* %fst | |
} | |
define %Object* @Triple_thd(%Triple* %self) { | |
%"addr_@thd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 4 | |
%"@thd" = load %Object*, %Object** %"addr_@thd", align 8 | |
ret %Object* %"@thd" | |
} | |
define %Object* @_set_Triple_thd(%Triple* %self, %Object* %thd) { | |
%"addr_@thd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 4 | |
store %Object* %thd, %Object** %"addr_@thd", align 8 | |
ret %Object* %thd | |
} | |
define %Object* @Triple_snd(%Triple* %self) { | |
%"addr_@snd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 3 | |
%"@snd" = load %Object*, %Object** %"addr_@snd", align 8 | |
ret %Object* %"@snd" | |
} | |
define %Object* @_set_Triple_snd(%Triple* %self, %Object* %snd) { | |
%"addr_@snd" = getelementptr inbounds %Triple, %Triple* %self, i32 0, i32 3 | |
store %Object* %snd, %Object** %"addr_@snd", align 8 | |
ret %Object* %snd | |
} | |
define %Error* @Meta_Error_new(%Error* %self, %String* %"@msg") { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 3)) | |
%addr = bitcast i8* %mem to %Error* | |
%addr_vtable = getelementptr inbounds %Error, %Error* %addr, i32 0, i32 0 | |
store i8* bitcast ([18 x i8*]* @shiika_vtable_Error to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Error* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Error, %Error* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%1 = call %Void* @Error_initialize(%Error* %addr, %String* %"@msg") | |
ret %Error* %addr | |
} | |
define %Array* @Meta_Array_new(%Array* %self) { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 5)) | |
%addr = bitcast i8* %mem to %Array* | |
%addr_vtable = getelementptr inbounds %Array, %Array* %addr, i32 0, i32 0 | |
store i8* bitcast ([54 x i8*]* @shiika_vtable_Array to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Array* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Array, %Array* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%1 = call %Void* @Array_initialize(%Array* %addr) | |
ret %Array* %addr | |
} | |
define %Array* @Meta_Array_build(%Array* %self, %Int* %len, %Fn1* %f) { | |
alloca: | |
%"ary@4_" = alloca %Array*, align 8 | |
%ret = alloca %Array*, align 8 | |
%i = alloca %Int*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%"::Array1" = load %Array*, %Array** @"::Array", align 8 | |
%"::Class" = load %Class.0*, %Class.0** @"::Class", align 8 | |
br label %"Invoke_Class#_specialize1" | |
End: ; preds = %Ret | |
%methodResult = phi %Array* [ %ret70, %Ret ] | |
ret %Array* %methodResult | |
"Invoke_Class#_specialize1": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %"::Array1", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [25 x i8*]* | |
%vtable2 = load [25 x i8*], [25 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [25 x i8*] %vtable2, 18 | |
%func = bitcast i8* %func_raw to %Array* (%Array*, %Class.0*)* | |
%result = call %Array* %func(%Array* %"::Array1", %Class.0* %"::Class") | |
br label %"Invoke_Class#_specialize1_end" | |
"Invoke_Class#_specialize1_end": ; preds = %"Invoke_Class#_specialize1" | |
br label %"Invoke_Array#new" | |
"Invoke_Array#new": ; preds = %"Invoke_Class#_specialize1_end" | |
%addr_vtable3 = getelementptr inbounds %Array, %Array* %result, i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [25 x i8*]* | |
%vtable6 = load [25 x i8*], [25 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [25 x i8*] %vtable6, 23 | |
%func8 = bitcast i8* %func_raw7 to %Array* (%Array*)* | |
%result9 = call %Array* %func8(%Array* %result) | |
br label %"Invoke_Array#new_end" | |
"Invoke_Array#new_end": ; preds = %"Invoke_Array#new" | |
store %Array* %result9, %Array** %"ary@4_", align 8 | |
%"ary@4_10" = load %Array*, %Array** %"ary@4_", align 8 | |
%"::Object" = load %Object*, %Object** @"::Object", align 8 | |
br label %"Invoke_Array#push" | |
"Invoke_Array#push": ; preds = %"Invoke_Array#new_end" | |
%addr_vtable11 = getelementptr inbounds %Array, %Array* %"ary@4_10", i32 0, i32 0 | |
%vtable12 = load i8*, i8** %addr_vtable11, align 8 | |
%vtable_ptr13 = bitcast i8* %vtable12 to [54 x i8*]* | |
%vtable14 = load [54 x i8*], [54 x i8*]* %vtable_ptr13, align 8 | |
%func_raw15 = extractvalue [54 x i8*] %vtable14, 45 | |
%func16 = bitcast i8* %func_raw15 to %Void* (%Array*, %Object*)* | |
%result17 = call %Void* %func16(%Array* %"ary@4_10", %Object* %"::Object") | |
br label %"Invoke_Array#push_end" | |
"Invoke_Array#push_end": ; preds = %"Invoke_Array#push" | |
%"ary@4_18" = load %Array*, %Array** %"ary@4_", align 8 | |
br label %"Invoke_Class#<>" | |
"Invoke_Class#<>": ; preds = %"Invoke_Array#push_end" | |
%addr_vtable19 = getelementptr inbounds %Array, %Array* %"::Array", i32 0, i32 0 | |
%vtable20 = load i8*, i8** %addr_vtable19, align 8 | |
%vtable_ptr21 = bitcast i8* %vtable20 to [25 x i8*]* | |
%vtable22 = load [25 x i8*], [25 x i8*]* %vtable_ptr21, align 8 | |
%func_raw23 = extractvalue [25 x i8*] %vtable22, 16 | |
%func24 = bitcast i8* %func_raw23 to %Array* (%Array*, %Array*)* | |
%result25 = call %Array* %func24(%Array* %"::Array", %Array* %"ary@4_18") | |
br label %"Invoke_Class#<>_end" | |
"Invoke_Class#<>_end": ; preds = %"Invoke_Class#<>" | |
br label %"Invoke_Meta:Array#new" | |
"Invoke_Meta:Array#new": ; preds = %"Invoke_Class#<>_end" | |
%addr_vtable26 = getelementptr inbounds %Array, %Array* %result25, i32 0, i32 0 | |
%vtable27 = load i8*, i8** %addr_vtable26, align 8 | |
%vtable_ptr28 = bitcast i8* %vtable27 to [25 x i8*]* | |
%vtable29 = load [25 x i8*], [25 x i8*]* %vtable_ptr28, align 8 | |
%func_raw30 = extractvalue [25 x i8*] %vtable29, 23 | |
%func31 = bitcast i8* %func_raw30 to %Array* (%Array*)* | |
%result32 = call %Array* %func31(%Array* %result25) | |
br label %"Invoke_Meta:Array#new_end" | |
"Invoke_Meta:Array#new_end": ; preds = %"Invoke_Meta:Array#new" | |
store %Array* %result32, %Array** %ret, align 8 | |
%ret33 = load %Array*, %Array** %ret, align 8 | |
%as = bitcast %Int* %len to %Object* | |
br label %"Invoke_Array#reserve" | |
"Invoke_Array#reserve": ; preds = %"Invoke_Meta:Array#new_end" | |
%addr_vtable34 = getelementptr inbounds %Array, %Array* %ret33, i32 0, i32 0 | |
%vtable35 = load i8*, i8** %addr_vtable34, align 8 | |
%vtable_ptr36 = bitcast i8* %vtable35 to [54 x i8*]* | |
%vtable37 = load [54 x i8*], [54 x i8*]* %vtable_ptr36, align 8 | |
%func_raw38 = extractvalue [54 x i8*] %vtable37, 47 | |
%func39 = bitcast i8* %func_raw38 to %Void* (%Array*, %Object*)* | |
%result40 = call %Void* %func39(%Array* %ret33, %Object* %as) | |
br label %"Invoke_Array#reserve_end" | |
"Invoke_Array#reserve_end": ; preds = %"Invoke_Array#reserve" | |
%sk_int = call %Int* @box_int(i64 0) | |
store %Int* %sk_int, %Int** %i, align 8 | |
br label %WhileBegin | |
WhileBegin: ; preds = %"Invoke_Int#+_end", %"Invoke_Array#reserve_end" | |
%i41 = load %Int*, %Int** %i, align 8 | |
br label %"Invoke_Int#<" | |
"Invoke_Int#<": ; preds = %WhileBegin | |
%addr_vtable42 = getelementptr inbounds %Int, %Int* %i41, i32 0, i32 0 | |
%vtable43 = load i8*, i8** %addr_vtable42, align 8 | |
%vtable_ptr44 = bitcast i8* %vtable43 to [35 x i8*]* | |
%vtable45 = load [35 x i8*], [35 x i8*]* %vtable_ptr44, align 8 | |
%func_raw46 = extractvalue [35 x i8*] %vtable45, 0 | |
%func47 = bitcast i8* %func_raw46 to %Bool* (%Int*, %Int*)* | |
%result48 = call %Bool* %func47(%Int* %i41, %Int* %len) | |
br label %"Invoke_Int#<_end" | |
"Invoke_Int#<_end": ; preds = %"Invoke_Int#<" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result48) | |
%istrue = icmp eq i1 %llvm_bool, true | |
br i1 %istrue, label %WhileBody, label %WhileEnd | |
WhileBody: ; preds = %"Invoke_Int#<_end" | |
%ret49 = load %Array*, %Array** %ret, align 8 | |
%i50 = load %Int*, %Int** %i, align 8 | |
br label %Invoke_lambda | |
WhileEnd: ; preds = %"Invoke_Int#<_end" | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
%ret70 = load %Array*, %Array** %ret, align 8 | |
br label %Ret | |
Invoke_lambda: ; preds = %WhileBody | |
%"addr_@func" = getelementptr inbounds %Fn1, %Fn1* %f, i32 0, i32 2 | |
%"@func" = load %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"** %"addr_@func", align 8 | |
%llvm_ptr = call i8* @unbox_i8ptr(%"Shiika::Internal::Ptr"* %"@func") | |
%0 = bitcast i8* %llvm_ptr to %Object* (%Fn1*, %Int*)* | |
%result51 = call %Object* %0(%Fn1* %f, %Int* %i50) | |
br label %Invoke_lambda_end | |
Invoke_lambda_end: ; preds = %Invoke_lambda | |
br label %"Invoke_Array#push52" | |
"Invoke_Array#push52": ; preds = %Invoke_lambda_end | |
%addr_vtable53 = getelementptr inbounds %Array, %Array* %ret49, i32 0, i32 0 | |
%vtable54 = load i8*, i8** %addr_vtable53, align 8 | |
%vtable_ptr55 = bitcast i8* %vtable54 to [54 x i8*]* | |
%vtable56 = load [54 x i8*], [54 x i8*]* %vtable_ptr55, align 8 | |
%func_raw57 = extractvalue [54 x i8*] %vtable56, 45 | |
%func58 = bitcast i8* %func_raw57 to %Void* (%Array*, %Object*)* | |
%result59 = call %Void* %func58(%Array* %ret49, %Object* %result51) | |
br label %"Invoke_Array#push_end60" | |
"Invoke_Array#push_end60": ; preds = %"Invoke_Array#push52" | |
%i61 = load %Int*, %Int** %i, align 8 | |
%sk_int62 = call %Int* @box_int(i64 1) | |
br label %"Invoke_Int#+" | |
"Invoke_Int#+": ; preds = %"Invoke_Array#push_end60" | |
%addr_vtable63 = getelementptr inbounds %Int, %Int* %i61, i32 0, i32 0 | |
%vtable64 = load i8*, i8** %addr_vtable63, align 8 | |
%vtable_ptr65 = bitcast i8* %vtable64 to [35 x i8*]* | |
%vtable66 = load [35 x i8*], [35 x i8*]* %vtable_ptr65, align 8 | |
%func_raw67 = extractvalue [35 x i8*] %vtable66, 18 | |
%func68 = bitcast i8* %func_raw67 to %Int* (%Int*, %Int*)* | |
%result69 = call %Int* %func68(%Int* %i61, %Int* %sk_int62) | |
br label %"Invoke_Int#+_end" | |
"Invoke_Int#+_end": ; preds = %"Invoke_Int#+" | |
store %Int* %result69, %Int** %i, align 8 | |
br label %WhileBegin | |
Ret: ; preds = %WhileEnd | |
br label %End | |
} | |
define %Array* @Meta_Array_repeat(%Array* %self, %Object* %item, %Int* %len) { | |
alloca: | |
%ret = alloca %Array*, align 8 | |
%i = alloca %Int*, align 8 | |
%"ary@5_" = alloca %Array*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%"::Array1" = load %Array*, %Array** @"::Array", align 8 | |
%"::Class" = load %Class.0*, %Class.0** @"::Class", align 8 | |
br label %"Invoke_Class#_specialize1" | |
End: ; preds = %Ret | |
%methodResult = phi %Array* [ %ret68, %Ret ] | |
ret %Array* %methodResult | |
"Invoke_Class#_specialize1": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %"::Array1", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [25 x i8*]* | |
%vtable2 = load [25 x i8*], [25 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [25 x i8*] %vtable2, 18 | |
%func = bitcast i8* %func_raw to %Array* (%Array*, %Class.0*)* | |
%result = call %Array* %func(%Array* %"::Array1", %Class.0* %"::Class") | |
br label %"Invoke_Class#_specialize1_end" | |
"Invoke_Class#_specialize1_end": ; preds = %"Invoke_Class#_specialize1" | |
br label %"Invoke_Array#new" | |
"Invoke_Array#new": ; preds = %"Invoke_Class#_specialize1_end" | |
%addr_vtable3 = getelementptr inbounds %Array, %Array* %result, i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [25 x i8*]* | |
%vtable6 = load [25 x i8*], [25 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [25 x i8*] %vtable6, 23 | |
%func8 = bitcast i8* %func_raw7 to %Array* (%Array*)* | |
%result9 = call %Array* %func8(%Array* %result) | |
br label %"Invoke_Array#new_end" | |
"Invoke_Array#new_end": ; preds = %"Invoke_Array#new" | |
store %Array* %result9, %Array** %"ary@5_", align 8 | |
%"ary@5_10" = load %Array*, %Array** %"ary@5_", align 8 | |
%"::Object" = load %Object*, %Object** @"::Object", align 8 | |
br label %"Invoke_Array#push" | |
"Invoke_Array#push": ; preds = %"Invoke_Array#new_end" | |
%addr_vtable11 = getelementptr inbounds %Array, %Array* %"ary@5_10", i32 0, i32 0 | |
%vtable12 = load i8*, i8** %addr_vtable11, align 8 | |
%vtable_ptr13 = bitcast i8* %vtable12 to [54 x i8*]* | |
%vtable14 = load [54 x i8*], [54 x i8*]* %vtable_ptr13, align 8 | |
%func_raw15 = extractvalue [54 x i8*] %vtable14, 45 | |
%func16 = bitcast i8* %func_raw15 to %Void* (%Array*, %Object*)* | |
%result17 = call %Void* %func16(%Array* %"ary@5_10", %Object* %"::Object") | |
br label %"Invoke_Array#push_end" | |
"Invoke_Array#push_end": ; preds = %"Invoke_Array#push" | |
%"ary@5_18" = load %Array*, %Array** %"ary@5_", align 8 | |
br label %"Invoke_Class#<>" | |
"Invoke_Class#<>": ; preds = %"Invoke_Array#push_end" | |
%addr_vtable19 = getelementptr inbounds %Array, %Array* %"::Array", i32 0, i32 0 | |
%vtable20 = load i8*, i8** %addr_vtable19, align 8 | |
%vtable_ptr21 = bitcast i8* %vtable20 to [25 x i8*]* | |
%vtable22 = load [25 x i8*], [25 x i8*]* %vtable_ptr21, align 8 | |
%func_raw23 = extractvalue [25 x i8*] %vtable22, 16 | |
%func24 = bitcast i8* %func_raw23 to %Array* (%Array*, %Array*)* | |
%result25 = call %Array* %func24(%Array* %"::Array", %Array* %"ary@5_18") | |
br label %"Invoke_Class#<>_end" | |
"Invoke_Class#<>_end": ; preds = %"Invoke_Class#<>" | |
br label %"Invoke_Meta:Array#new" | |
"Invoke_Meta:Array#new": ; preds = %"Invoke_Class#<>_end" | |
%addr_vtable26 = getelementptr inbounds %Array, %Array* %result25, i32 0, i32 0 | |
%vtable27 = load i8*, i8** %addr_vtable26, align 8 | |
%vtable_ptr28 = bitcast i8* %vtable27 to [25 x i8*]* | |
%vtable29 = load [25 x i8*], [25 x i8*]* %vtable_ptr28, align 8 | |
%func_raw30 = extractvalue [25 x i8*] %vtable29, 23 | |
%func31 = bitcast i8* %func_raw30 to %Array* (%Array*)* | |
%result32 = call %Array* %func31(%Array* %result25) | |
br label %"Invoke_Meta:Array#new_end" | |
"Invoke_Meta:Array#new_end": ; preds = %"Invoke_Meta:Array#new" | |
store %Array* %result32, %Array** %ret, align 8 | |
%ret33 = load %Array*, %Array** %ret, align 8 | |
%as = bitcast %Int* %len to %Object* | |
br label %"Invoke_Array#reserve" | |
"Invoke_Array#reserve": ; preds = %"Invoke_Meta:Array#new_end" | |
%addr_vtable34 = getelementptr inbounds %Array, %Array* %ret33, i32 0, i32 0 | |
%vtable35 = load i8*, i8** %addr_vtable34, align 8 | |
%vtable_ptr36 = bitcast i8* %vtable35 to [54 x i8*]* | |
%vtable37 = load [54 x i8*], [54 x i8*]* %vtable_ptr36, align 8 | |
%func_raw38 = extractvalue [54 x i8*] %vtable37, 47 | |
%func39 = bitcast i8* %func_raw38 to %Void* (%Array*, %Object*)* | |
%result40 = call %Void* %func39(%Array* %ret33, %Object* %as) | |
br label %"Invoke_Array#reserve_end" | |
"Invoke_Array#reserve_end": ; preds = %"Invoke_Array#reserve" | |
%sk_int = call %Int* @box_int(i64 0) | |
store %Int* %sk_int, %Int** %i, align 8 | |
br label %WhileBegin | |
WhileBegin: ; preds = %"Invoke_Int#+_end", %"Invoke_Array#reserve_end" | |
%i41 = load %Int*, %Int** %i, align 8 | |
br label %"Invoke_Int#<" | |
"Invoke_Int#<": ; preds = %WhileBegin | |
%addr_vtable42 = getelementptr inbounds %Int, %Int* %i41, i32 0, i32 0 | |
%vtable43 = load i8*, i8** %addr_vtable42, align 8 | |
%vtable_ptr44 = bitcast i8* %vtable43 to [35 x i8*]* | |
%vtable45 = load [35 x i8*], [35 x i8*]* %vtable_ptr44, align 8 | |
%func_raw46 = extractvalue [35 x i8*] %vtable45, 0 | |
%func47 = bitcast i8* %func_raw46 to %Bool* (%Int*, %Int*)* | |
%result48 = call %Bool* %func47(%Int* %i41, %Int* %len) | |
br label %"Invoke_Int#<_end" | |
"Invoke_Int#<_end": ; preds = %"Invoke_Int#<" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result48) | |
%istrue = icmp eq i1 %llvm_bool, true | |
br i1 %istrue, label %WhileBody, label %WhileEnd | |
WhileBody: ; preds = %"Invoke_Int#<_end" | |
%ret49 = load %Array*, %Array** %ret, align 8 | |
br label %"Invoke_Array#push50" | |
WhileEnd: ; preds = %"Invoke_Int#<_end" | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
%ret68 = load %Array*, %Array** %ret, align 8 | |
br label %Ret | |
"Invoke_Array#push50": ; preds = %WhileBody | |
%addr_vtable51 = getelementptr inbounds %Array, %Array* %ret49, i32 0, i32 0 | |
%vtable52 = load i8*, i8** %addr_vtable51, align 8 | |
%vtable_ptr53 = bitcast i8* %vtable52 to [54 x i8*]* | |
%vtable54 = load [54 x i8*], [54 x i8*]* %vtable_ptr53, align 8 | |
%func_raw55 = extractvalue [54 x i8*] %vtable54, 45 | |
%func56 = bitcast i8* %func_raw55 to %Void* (%Array*, %Object*)* | |
%result57 = call %Void* %func56(%Array* %ret49, %Object* %item) | |
br label %"Invoke_Array#push_end58" | |
"Invoke_Array#push_end58": ; preds = %"Invoke_Array#push50" | |
%i59 = load %Int*, %Int** %i, align 8 | |
%sk_int60 = call %Int* @box_int(i64 1) | |
br label %"Invoke_Int#+" | |
"Invoke_Int#+": ; preds = %"Invoke_Array#push_end58" | |
%addr_vtable61 = getelementptr inbounds %Int, %Int* %i59, i32 0, i32 0 | |
%vtable62 = load i8*, i8** %addr_vtable61, align 8 | |
%vtable_ptr63 = bitcast i8* %vtable62 to [35 x i8*]* | |
%vtable64 = load [35 x i8*], [35 x i8*]* %vtable_ptr63, align 8 | |
%func_raw65 = extractvalue [35 x i8*] %vtable64, 18 | |
%func66 = bitcast i8* %func_raw65 to %Int* (%Int*, %Int*)* | |
%result67 = call %Int* %func66(%Int* %i59, %Int* %sk_int60) | |
br label %"Invoke_Int#+_end" | |
"Invoke_Int#+_end": ; preds = %"Invoke_Int#+" | |
store %Int* %result67, %Int** %i, align 8 | |
br label %WhileBegin | |
Ret: ; preds = %WhileEnd | |
br label %End | |
} | |
define %Fn9* @Meta_Fn9_new(%Fn9* %self, %"Shiika::Internal::Ptr"* %"@func", %Object* %"@the_self", %Array* %"@captures") { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 6)) | |
%addr = bitcast i8* %mem to %Fn9* | |
%addr_vtable = getelementptr inbounds %Fn9, %Fn9* %addr, i32 0, i32 0 | |
store i8* bitcast ([24 x i8*]* @shiika_vtable_Fn9 to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Fn9* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Fn9, %Fn9* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%obj_as_super = bitcast %Fn9* %addr to %Fn* | |
%1 = call %Void* @Fn_initialize(%Fn* %obj_as_super, %"Shiika::Internal::Ptr"* %"@func", %Object* %"@the_self", %Array* %"@captures") | |
ret %Fn9* %addr | |
} | |
define %Fn5* @Meta_Fn5_new(%Fn5* %self, %"Shiika::Internal::Ptr"* %"@func", %Object* %"@the_self", %Array* %"@captures") { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 6)) | |
%addr = bitcast i8* %mem to %Fn5* | |
%addr_vtable = getelementptr inbounds %Fn5, %Fn5* %addr, i32 0, i32 0 | |
store i8* bitcast ([24 x i8*]* @shiika_vtable_Fn5 to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Fn5* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Fn5, %Fn5* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%obj_as_super = bitcast %Fn5* %addr to %Fn* | |
%1 = call %Void* @Fn_initialize(%Fn* %obj_as_super, %"Shiika::Internal::Ptr"* %"@func", %Object* %"@the_self", %Array* %"@captures") | |
ret %Fn5* %addr | |
} | |
define %"Maybe::None"* @Meta_Maybe_None_new(%"Maybe::None"* %self) { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 2)) | |
%addr = bitcast i8* %mem to %"Maybe::None"* | |
%addr_vtable = getelementptr inbounds %"Maybe::None", %"Maybe::None"* %addr, i32 0, i32 0 | |
store i8* bitcast ([18 x i8*]* @"shiika_vtable_Maybe::None" to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %"Maybe::None"* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %"Maybe::None", %"Maybe::None"* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%1 = call %Void* @Maybe_None_initialize(%"Maybe::None"* %addr) | |
ret %"Maybe::None"* %addr | |
} | |
define %Metaclass* @Metaclass_new(%Metaclass* %self, %String* %"@name", %Object* %vtable, %Metaclass* %metacls_obj) { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 5)) | |
%addr = bitcast i8* %mem to %Metaclass* | |
%addr_vtable = getelementptr inbounds %Metaclass, %Metaclass* %addr, i32 0, i32 0 | |
store i8* bitcast ([23 x i8*]* @shiika_vtable_Metaclass to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Metaclass* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Metaclass, %Metaclass* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%obj_as_super = bitcast %Metaclass* %addr to %Class.0* | |
%1 = call %Void* @Class_initialize(%Class.0* %obj_as_super, %String* %"@name", %Object* %vtable, %Metaclass* %metacls_obj) | |
ret %Metaclass* %addr | |
} | |
define %String* @Metaclass_name(%Metaclass* %self) { | |
br label %IfBegin | |
End: ; preds = %Ret | |
%methodResult = phi %String* [ %ifResult, %Ret ] | |
ret %String* %methodResult | |
IfBegin: ; preds = %0 | |
%"addr_@name" = getelementptr inbounds %Metaclass, %Metaclass* %self, i32 0, i32 2 | |
%"@name" = load %String*, %String** %"addr_@name", align 8 | |
%sk_str = call %String* @gen_literal_string(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str_55, i32 0, i32 0), i64 9) | |
br label %"Invoke_String#==" | |
IfThen: ; preds = %"Invoke_String#==_end" | |
%sk_str2 = call %String* @gen_literal_string(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @str_56, i32 0, i32 0), i64 9) | |
br label %IfEnd | |
IfElse: ; preds = %"Invoke_String#==_end" | |
%sk_str3 = call %String* @gen_literal_string(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @str_57, i32 0, i32 0), i64 5) | |
%"addr_@name4" = getelementptr inbounds %Metaclass, %Metaclass* %self, i32 0, i32 2 | |
%"@name5" = load %String*, %String** %"addr_@name4", align 8 | |
br label %"Invoke_String#+" | |
IfEnd: ; preds = %"Invoke_String#+_end", %IfThen | |
%ifResult = phi %String* [ %sk_str2, %IfThen ], [ %result12, %"Invoke_String#+_end" ] | |
br label %Ret | |
"Invoke_String#==": ; preds = %IfBegin | |
%addr_vtable = getelementptr inbounds %String, %String* %"@name", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [35 x i8*]* | |
%vtable1 = load [35 x i8*], [35 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [35 x i8*] %vtable1, 2 | |
%func = bitcast i8* %func_raw to %Bool* (%String*, %String*)* | |
%result = call %Bool* %func(%String* %"@name", %String* %sk_str) | |
br label %"Invoke_String#==_end" | |
"Invoke_String#==_end": ; preds = %"Invoke_String#==" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result) | |
%istrue = icmp eq i1 %llvm_bool, true | |
br i1 %istrue, label %IfThen, label %IfElse | |
"Invoke_String#+": ; preds = %IfElse | |
%addr_vtable6 = getelementptr inbounds %String, %String* %sk_str3, i32 0, i32 0 | |
%vtable7 = load i8*, i8** %addr_vtable6, align 8 | |
%vtable_ptr8 = bitcast i8* %vtable7 to [35 x i8*]* | |
%vtable9 = load [35 x i8*], [35 x i8*]* %vtable_ptr8, align 8 | |
%func_raw10 = extractvalue [35 x i8*] %vtable9, 17 | |
%func11 = bitcast i8* %func_raw10 to %String* (%String*, %String*)* | |
%result12 = call %String* %func11(%String* %sk_str3, %String* %"@name5") | |
br label %"Invoke_String#+_end" | |
"Invoke_String#+_end": ; preds = %"Invoke_String#+" | |
br label %IfEnd | |
Ret: ; preds = %IfEnd | |
br label %End | |
} | |
define %String* @Metaclass_inspect(%Metaclass* %self) { | |
%sk_str = call %String* @gen_literal_string(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @str_59, i32 0, i32 0), i64 12) | |
br label %"Invoke_Metaclass#name" | |
End: ; preds = %Ret | |
%methodResult = phi %String* [ %result17, %Ret ] | |
ret %String* %methodResult | |
"Invoke_Metaclass#name": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %Metaclass, %Metaclass* %self, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [23 x i8*]* | |
%vtable1 = load [23 x i8*], [23 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [23 x i8*] %vtable1, 20 | |
%func = bitcast i8* %func_raw to %String* (%Metaclass*)* | |
%result = call %String* %func(%Metaclass* %self) | |
br label %"Invoke_Metaclass#name_end" | |
"Invoke_Metaclass#name_end": ; preds = %"Invoke_Metaclass#name" | |
br label %"Invoke_String#+" | |
"Invoke_String#+": ; preds = %"Invoke_Metaclass#name_end" | |
%addr_vtable2 = getelementptr inbounds %String, %String* %sk_str, i32 0, i32 0 | |
%vtable3 = load i8*, i8** %addr_vtable2, align 8 | |
%vtable_ptr4 = bitcast i8* %vtable3 to [35 x i8*]* | |
%vtable5 = load [35 x i8*], [35 x i8*]* %vtable_ptr4, align 8 | |
%func_raw6 = extractvalue [35 x i8*] %vtable5, 17 | |
%func7 = bitcast i8* %func_raw6 to %String* (%String*, %String*)* | |
%result8 = call %String* %func7(%String* %sk_str, %String* %result) | |
br label %"Invoke_String#+_end" | |
"Invoke_String#+_end": ; preds = %"Invoke_String#+" | |
%sk_str9 = call %String* @gen_literal_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str_58, i32 0, i32 0), i64 1) | |
br label %"Invoke_String#+10" | |
"Invoke_String#+10": ; preds = %"Invoke_String#+_end" | |
%addr_vtable11 = getelementptr inbounds %String, %String* %result8, i32 0, i32 0 | |
%vtable12 = load i8*, i8** %addr_vtable11, align 8 | |
%vtable_ptr13 = bitcast i8* %vtable12 to [35 x i8*]* | |
%vtable14 = load [35 x i8*], [35 x i8*]* %vtable_ptr13, align 8 | |
%func_raw15 = extractvalue [35 x i8*] %vtable14, 17 | |
%func16 = bitcast i8* %func_raw15 to %String* (%String*, %String*)* | |
%result17 = call %String* %func16(%String* %result8, %String* %sk_str9) | |
br label %"Invoke_String#+_end18" | |
"Invoke_String#+_end18": ; preds = %"Invoke_String#+10" | |
br label %Ret | |
Ret: ; preds = %"Invoke_String#+_end18" | |
br label %End | |
} | |
define %"Dict::Table"* @Meta_Dict_Table_new(%"Dict::Table"* %self) { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 3)) | |
%addr = bitcast i8* %mem to %"Dict::Table"* | |
%addr_vtable = getelementptr inbounds %"Dict::Table", %"Dict::Table"* %addr, i32 0, i32 0 | |
store i8* bitcast ([23 x i8*]* @"shiika_vtable_Dict::Table" to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %"Dict::Table"* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %"Dict::Table", %"Dict::Table"* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%1 = call %Void* @Dict_Table_initialize(%"Dict::Table"* %addr) | |
ret %"Dict::Table"* %addr | |
} | |
define %Void* @Class_initialize(%Class.0* %self, %String* %"@name", %Object* %vtable, %Metaclass* %metacls_obj) { | |
%"addr_@name" = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 2 | |
store %String* %"@name", %String** %"addr_@name", align 8 | |
br label %"Invoke_Class#_initialize_rustlib" | |
End: ; preds = %Ret | |
%"::Void3" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void3" | |
"Invoke_Class#_initialize_rustlib": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 0 | |
%vtable1 = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable1 to [22 x i8*]* | |
%vtable2 = load [22 x i8*], [22 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [22 x i8*] %vtable2, 17 | |
%func = bitcast i8* %func_raw to %Object* (%Class.0*, %Object*, %Metaclass*)* | |
%result = call %Object* %func(%Class.0* %self, %Object* %vtable, %Metaclass* %metacls_obj) | |
br label %"Invoke_Class#_initialize_rustlib_end" | |
"Invoke_Class#_initialize_rustlib_end": ; preds = %"Invoke_Class#_initialize_rustlib" | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Class#_initialize_rustlib_end" | |
br label %End | |
} | |
define %String* @_set_Class_name(%Class.0* %self, %String* %name) { | |
%"addr_@name" = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 2 | |
store %String* %name, %String** %"addr_@name", align 8 | |
ret %String* %name | |
} | |
define %String* @Class_name(%Class.0* %self) { | |
%"addr_@name" = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 2 | |
%"@name" = load %String*, %String** %"addr_@name", align 8 | |
br label %Ret | |
End: ; preds = %Ret | |
%methodResult = phi %String* [ %"@name", %Ret ] | |
ret %String* %methodResult | |
Ret: ; preds = %0 | |
br label %End | |
} | |
define %String* @Class_inspect(%Class.0* %self) { | |
%sk_str = call %String* @gen_literal_string(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @str_53, i32 0, i32 0), i64 8) | |
%"addr_@name" = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 2 | |
%"@name" = load %String*, %String** %"addr_@name", align 8 | |
br label %"Invoke_String#to_s" | |
End: ; preds = %Ret | |
%methodResult = phi %String* [ %result17, %Ret ] | |
ret %String* %methodResult | |
"Invoke_String#to_s": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %String, %String* %"@name", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [35 x i8*]* | |
%vtable1 = load [35 x i8*], [35 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [35 x i8*] %vtable1, 15 | |
%func = bitcast i8* %func_raw to %String* (%String*)* | |
%result = call %String* %func(%String* %"@name") | |
br label %"Invoke_String#to_s_end" | |
"Invoke_String#to_s_end": ; preds = %"Invoke_String#to_s" | |
br label %"Invoke_String#+" | |
"Invoke_String#+": ; preds = %"Invoke_String#to_s_end" | |
%addr_vtable2 = getelementptr inbounds %String, %String* %sk_str, i32 0, i32 0 | |
%vtable3 = load i8*, i8** %addr_vtable2, align 8 | |
%vtable_ptr4 = bitcast i8* %vtable3 to [35 x i8*]* | |
%vtable5 = load [35 x i8*], [35 x i8*]* %vtable_ptr4, align 8 | |
%func_raw6 = extractvalue [35 x i8*] %vtable5, 17 | |
%func7 = bitcast i8* %func_raw6 to %String* (%String*, %String*)* | |
%result8 = call %String* %func7(%String* %sk_str, %String* %result) | |
br label %"Invoke_String#+_end" | |
"Invoke_String#+_end": ; preds = %"Invoke_String#+" | |
%sk_str9 = call %String* @gen_literal_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @str_52, i32 0, i32 0), i64 1) | |
br label %"Invoke_String#+10" | |
"Invoke_String#+10": ; preds = %"Invoke_String#+_end" | |
%addr_vtable11 = getelementptr inbounds %String, %String* %result8, i32 0, i32 0 | |
%vtable12 = load i8*, i8** %addr_vtable11, align 8 | |
%vtable_ptr13 = bitcast i8* %vtable12 to [35 x i8*]* | |
%vtable14 = load [35 x i8*], [35 x i8*]* %vtable_ptr13, align 8 | |
%func_raw15 = extractvalue [35 x i8*] %vtable14, 17 | |
%func16 = bitcast i8* %func_raw15 to %String* (%String*, %String*)* | |
%result17 = call %String* %func16(%String* %result8, %String* %sk_str9) | |
br label %"Invoke_String#+_end18" | |
"Invoke_String#+_end18": ; preds = %"Invoke_String#+10" | |
br label %Ret | |
Ret: ; preds = %"Invoke_String#+_end18" | |
br label %End | |
} | |
define %String* @Class_to__s(%Class.0* %self) { | |
br label %"Invoke_Class#name" | |
End: ; preds = %Ret | |
%methodResult = phi %String* [ %result, %Ret ] | |
ret %String* %methodResult | |
"Invoke_Class#name": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %Class.0, %Class.0* %self, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [22 x i8*]* | |
%vtable1 = load [22 x i8*], [22 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [22 x i8*] %vtable1, 20 | |
%func = bitcast i8* %func_raw to %String* (%Class.0*)* | |
%result = call %String* %func(%Class.0* %self) | |
br label %"Invoke_Class#name_end" | |
"Invoke_Class#name_end": ; preds = %"Invoke_Class#name" | |
br label %Ret | |
Ret: ; preds = %"Invoke_Class#name_end" | |
br label %End | |
} | |
declare %Object* @Class___initialize__rustlib(%Class.0*, %Object*, %Object*) | |
declare %Class.0* @Class_lt_gt_(%Class.0*, %Array*) | |
declare %Class.0* @Class___specialize1(%Class.0*, %Array*) | |
declare %Class.0* @Class___type__argument(%Class.0*, %Int*) | |
define %Object* @Meta_Object_new(%Object* %self) { | |
%mem = call i8* @shiika_malloc(i64 mul nuw (i64 ptrtoint (i1** getelementptr (i1*, i1** null, i32 1) to i64), i64 2)) | |
%addr = bitcast i8* %mem to %Object* | |
%addr_vtable = getelementptr inbounds %Object, %Object* %addr, i32 0, i32 0 | |
store i8* bitcast ([16 x i8*]* @shiika_vtable_Object to i8*), i8** %addr_vtable, align 8 | |
%class = bitcast %Object* %self to %Class.0* | |
%addr_my_class = getelementptr inbounds %Object, %Object* %addr, i32 0, i32 1 | |
store %Class.0* %class, %Class.0** %addr_my_class, align 8 | |
%1 = call %Void* @Object_initialize(%Object* %addr) | |
ret %Object* %addr | |
} | |
define %Void* @Array_initialize(%Array* %self) { | |
%"::Array::INITIAL_CAPA" = load %Int*, %Int** @"::Array::INITIAL_CAPA", align 8 | |
%"addr_@capa" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 2 | |
store %Int* %"::Array::INITIAL_CAPA", %Int** %"addr_@capa", align 8 | |
%sk_int = call %Int* @box_int(i64 0) | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
store %Int* %sk_int, %Int** %"addr_@n_items", align 8 | |
%"::Shiika::Internal::Memory" = load %"Shiika::Internal::Memory"*, %"Shiika::Internal::Memory"** @"::Shiika::Internal::Memory", align 8 | |
%"::Array::BYTES_OF_PTR" = load %Int*, %Int** @"::Array::BYTES_OF_PTR", align 8 | |
%"::Array::INITIAL_CAPA1" = load %Int*, %Int** @"::Array::INITIAL_CAPA", align 8 | |
br label %"Invoke_Int#*" | |
End: ; preds = %Ret | |
%"::Void10" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void10" | |
"Invoke_Int#*": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %Int, %Int* %"::Array::BYTES_OF_PTR", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [35 x i8*]* | |
%vtable2 = load [35 x i8*], [35 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [35 x i8*] %vtable2, 17 | |
%func = bitcast i8* %func_raw to %Int* (%Int*, %Int*)* | |
%result = call %Int* %func(%Int* %"::Array::BYTES_OF_PTR", %Int* %"::Array::INITIAL_CAPA1") | |
br label %"Invoke_Int#*_end" | |
"Invoke_Int#*_end": ; preds = %"Invoke_Int#*" | |
br label %"Invoke_Meta:Shiika::Internal::Memory#gc_malloc" | |
"Invoke_Meta:Shiika::Internal::Memory#gc_malloc": ; preds = %"Invoke_Int#*_end" | |
%addr_vtable3 = getelementptr inbounds %"Shiika::Internal::Memory", %"Shiika::Internal::Memory"* %"::Shiika::Internal::Memory", i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [25 x i8*]* | |
%vtable6 = load [25 x i8*], [25 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [25 x i8*] %vtable6, 22 | |
%func8 = bitcast i8* %func_raw7 to %"Shiika::Internal::Ptr"* (%"Shiika::Internal::Memory"*, %Int*)* | |
%result9 = call %"Shiika::Internal::Ptr"* %func8(%"Shiika::Internal::Memory"* %"::Shiika::Internal::Memory", %Int* %result) | |
br label %"Invoke_Meta:Shiika::Internal::Memory#gc_malloc_end" | |
"Invoke_Meta:Shiika::Internal::Memory#gc_malloc_end": ; preds = %"Invoke_Meta:Shiika::Internal::Memory#gc_malloc" | |
%"addr_@items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 4 | |
store %"Shiika::Internal::Ptr"* %result9, %"Shiika::Internal::Ptr"** %"addr_@items", align 8 | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Meta:Shiika::Internal::Memory#gc_malloc_end" | |
br label %End | |
} | |
define %Int* @Array_n__items(%Array* %self) { | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items" = load %Int*, %Int** %"addr_@n_items", align 8 | |
ret %Int* %"@n_items" | |
} | |
define %Int* @_set_Array_n__items(%Array* %self, %Int* %n_items) { | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
store %Int* %n_items, %Int** %"addr_@n_items", align 8 | |
ret %Int* %n_items | |
} | |
define %Int* @Array_capa(%Array* %self) { | |
%"addr_@capa" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 2 | |
%"@capa" = load %Int*, %Int** %"addr_@capa", align 8 | |
ret %Int* %"@capa" | |
} | |
define %Int* @_set_Array_capa(%Array* %self, %Int* %capa) { | |
%"addr_@capa" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 2 | |
store %Int* %capa, %Int** %"addr_@capa", align 8 | |
ret %Int* %capa | |
} | |
define %"Shiika::Internal::Ptr"* @Array_items(%Array* %self) { | |
%"addr_@items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 4 | |
%"@items" = load %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"** %"addr_@items", align 8 | |
ret %"Shiika::Internal::Ptr"* %"@items" | |
} | |
define %"Shiika::Internal::Ptr"* @_set_Array_items(%Array* %self, %"Shiika::Internal::Ptr"* %items) { | |
%"addr_@items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 4 | |
store %"Shiika::Internal::Ptr"* %items, %"Shiika::Internal::Ptr"** %"addr_@items", align 8 | |
ret %"Shiika::Internal::Ptr"* %items | |
} | |
define %Bool* @Array_eq_(%Array* %self, %Array* %other) { | |
alloca: | |
%ret = alloca %Bool*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
br label %IfBegin | |
End: ; preds = %Ret | |
%methodResult = phi %Bool* [ %ifResult, %Ret ] | |
ret %Bool* %methodResult | |
IfBegin: ; preds = %alloca_End | |
br label %"Invoke_Array#length" | |
IfThen: ; preds = %"Invoke_Int#==_end" | |
%sk_bool19 = call %Bool* @box_bool(i1 false) | |
br label %IfEnd | |
IfElse: ; preds = %"Invoke_Int#==_end" | |
%sk_bool20 = call %Bool* @box_bool(i1 true) | |
store %Bool* %sk_bool20, %Bool** %ret, align 8 | |
%sk_int = call %Int* @box_int(i64 0) | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items" = load %Int*, %Int** %"addr_@n_items", align 8 | |
%sk_int21 = call %Int* @box_int(i64 1) | |
br label %"Invoke_Int#-" | |
IfEnd: ; preds = %"Invoke_Int#upto_end", %IfThen | |
%ifResult = phi %Bool* [ %sk_bool19, %IfThen ], [ %ret40, %"Invoke_Int#upto_end" ] | |
br label %Ret | |
"Invoke_Array#length": ; preds = %IfBegin | |
%addr_vtable = getelementptr inbounds %Array, %Array* %self, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [54 x i8*]* | |
%vtable1 = load [54 x i8*], [54 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [54 x i8*] %vtable1, 39 | |
%func = bitcast i8* %func_raw to %Int* (%Array*)* | |
%result = call %Int* %func(%Array* %self) | |
br label %"Invoke_Array#length_end" | |
"Invoke_Array#length_end": ; preds = %"Invoke_Array#length" | |
br label %"Invoke_Array#length2" | |
"Invoke_Array#length2": ; preds = %"Invoke_Array#length_end" | |
%addr_vtable3 = getelementptr inbounds %Array, %Array* %other, i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [54 x i8*]* | |
%vtable6 = load [54 x i8*], [54 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [54 x i8*] %vtable6, 39 | |
%func8 = bitcast i8* %func_raw7 to %Int* (%Array*)* | |
%result9 = call %Int* %func8(%Array* %other) | |
br label %"Invoke_Array#length_end10" | |
"Invoke_Array#length_end10": ; preds = %"Invoke_Array#length2" | |
br label %"Invoke_Int#==" | |
"Invoke_Int#==": ; preds = %"Invoke_Array#length_end10" | |
%addr_vtable11 = getelementptr inbounds %Int, %Int* %result, i32 0, i32 0 | |
%vtable12 = load i8*, i8** %addr_vtable11, align 8 | |
%vtable_ptr13 = bitcast i8* %vtable12 to [35 x i8*]* | |
%vtable14 = load [35 x i8*], [35 x i8*]* %vtable_ptr13, align 8 | |
%func_raw15 = extractvalue [35 x i8*] %vtable14, 2 | |
%func16 = bitcast i8* %func_raw15 to %Bool* (%Int*, %Int*)* | |
%result17 = call %Bool* %func16(%Int* %result, %Int* %result9) | |
br label %"Invoke_Int#==_end" | |
"Invoke_Int#==_end": ; preds = %"Invoke_Int#==" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result17) | |
%b2 = xor i1 %llvm_bool, true | |
%sk_bool = call %Bool* @box_bool(i1 %b2) | |
%llvm_bool18 = call i1 @unbox_bool(%Bool* %sk_bool) | |
%istrue = icmp eq i1 %llvm_bool18, true | |
br i1 %istrue, label %IfThen, label %IfElse | |
"Invoke_Int#-": ; preds = %IfElse | |
%addr_vtable22 = getelementptr inbounds %Int, %Int* %"@n_items", i32 0, i32 0 | |
%vtable23 = load i8*, i8** %addr_vtable22, align 8 | |
%vtable_ptr24 = bitcast i8* %vtable23 to [35 x i8*]* | |
%vtable25 = load [35 x i8*], [35 x i8*]* %vtable_ptr24, align 8 | |
%func_raw26 = extractvalue [35 x i8*] %vtable25, 19 | |
%func27 = bitcast i8* %func_raw26 to %Int* (%Int*, %Int*)* | |
%result28 = call %Int* %func27(%Int* %"@n_items", %Int* %sk_int21) | |
br label %"Invoke_Int#-_end" | |
"Invoke_Int#-_end": ; preds = %"Invoke_Int#-" | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_1_in_Array#==" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%result29 = call %Array* @Meta_Array_new(%Array* %"::Array") | |
%capture_item = bitcast %Array* %other to %Object* | |
%_ = call %Void* @Array_push(%Array* %result29, %Object* %capture_item) | |
%capture_item30 = bitcast %Bool** %ret to %Object* | |
%_31 = call %Void* @Array_push(%Array* %result29, %Object* %capture_item30) | |
%result32 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result29) | |
br label %"Invoke_Int#upto" | |
"Invoke_Int#upto": ; preds = %"Invoke_Int#-_end" | |
%addr_vtable33 = getelementptr inbounds %Int, %Int* %sk_int, i32 0, i32 0 | |
%vtable34 = load i8*, i8** %addr_vtable33, align 8 | |
%vtable_ptr35 = bitcast i8* %vtable34 to [35 x i8*]* | |
%vtable36 = load [35 x i8*], [35 x i8*]* %vtable_ptr35, align 8 | |
%func_raw37 = extractvalue [35 x i8*] %vtable36, 33 | |
%func38 = bitcast i8* %func_raw37 to %Void* (%Int*, %Int*, %Fn1*)* | |
%result39 = call %Void* %func38(%Int* %sk_int, %Int* %result28, %Fn1* %result32) | |
br label %"Invoke_Int#upto_end" | |
"Invoke_Int#upto_end": ; preds = %"Invoke_Int#upto" | |
%ret40 = load %Bool*, %Bool** %ret, align 8 | |
br label %IfEnd | |
Ret: ; preds = %IfEnd | |
br label %End | |
} | |
define %Void* @Array_aset_(%Array* %self, %Int* %i, %Object* %obj) { | |
alloca: | |
%idx = alloca %Int*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
br label %IfBegin | |
End: ; preds = %Ret | |
%"::Void85" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void85" | |
IfBegin: ; preds = %alloca_End | |
%sk_int = call %Int* @box_int(i64 0) | |
br label %"Invoke_Int#<" | |
IfThen: ; preds = %"Invoke_Int#<_end" | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items" = load %Int*, %Int** %"addr_@n_items", align 8 | |
br label %"Invoke_Int#+" | |
IfElse: ; preds = %"Invoke_Int#<_end" | |
br label %IfEnd | |
IfEnd: ; preds = %IfElse, %"Invoke_Int#+_end" | |
%ifResult = phi %Int* [ %result8, %"Invoke_Int#+_end" ], [ %i, %IfElse ] | |
store %Int* %ifResult, %Int** %idx, align 8 | |
br label %IfBegin9 | |
"Invoke_Int#<": ; preds = %IfBegin | |
%addr_vtable = getelementptr inbounds %Int, %Int* %i, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [35 x i8*]* | |
%vtable1 = load [35 x i8*], [35 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [35 x i8*] %vtable1, 0 | |
%func = bitcast i8* %func_raw to %Bool* (%Int*, %Int*)* | |
%result = call %Bool* %func(%Int* %i, %Int* %sk_int) | |
br label %"Invoke_Int#<_end" | |
"Invoke_Int#<_end": ; preds = %"Invoke_Int#<" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result) | |
%istrue = icmp eq i1 %llvm_bool, true | |
br i1 %istrue, label %IfThen, label %IfElse | |
"Invoke_Int#+": ; preds = %IfThen | |
%addr_vtable2 = getelementptr inbounds %Int, %Int* %"@n_items", i32 0, i32 0 | |
%vtable3 = load i8*, i8** %addr_vtable2, align 8 | |
%vtable_ptr4 = bitcast i8* %vtable3 to [35 x i8*]* | |
%vtable5 = load [35 x i8*], [35 x i8*]* %vtable_ptr4, align 8 | |
%func_raw6 = extractvalue [35 x i8*] %vtable5, 18 | |
%func7 = bitcast i8* %func_raw6 to %Int* (%Int*, %Int*)* | |
%result8 = call %Int* %func7(%Int* %"@n_items", %Int* %i) | |
br label %"Invoke_Int#+_end" | |
"Invoke_Int#+_end": ; preds = %"Invoke_Int#+" | |
br label %IfEnd | |
IfBegin9: ; preds = %IfEnd | |
%idx13 = load %Int*, %Int** %idx, align 8 | |
%sk_int14 = call %Int* @box_int(i64 0) | |
br label %"Invoke_Int#<15" | |
IfThen10: ; preds = %"Invoke_Int#<_end23" | |
%as = bitcast %Array* %self to %Object* | |
%sk_str = call %String* @gen_literal_string(i8* getelementptr inbounds ([34 x i8], [34 x i8]* @str_44, i32 0, i32 0), i64 33) | |
%as26 = bitcast %String* %sk_str to %Object* | |
br label %"Invoke_Object#panic" | |
IfElse11: ; preds = %"Invoke_Int#<_end23" | |
%"::Void33" = load %Void*, %Void** @"::Void", align 8 | |
br label %IfEnd12 | |
IfEnd12: ; preds = %IfElse11 | |
br label %IfBegin34 | |
"Invoke_Int#<15": ; preds = %IfBegin9 | |
%addr_vtable16 = getelementptr inbounds %Int, %Int* %idx13, i32 0, i32 0 | |
%vtable17 = load i8*, i8** %addr_vtable16, align 8 | |
%vtable_ptr18 = bitcast i8* %vtable17 to [35 x i8*]* | |
%vtable19 = load [35 x i8*], [35 x i8*]* %vtable_ptr18, align 8 | |
%func_raw20 = extractvalue [35 x i8*] %vtable19, 0 | |
%func21 = bitcast i8* %func_raw20 to %Bool* (%Int*, %Int*)* | |
%result22 = call %Bool* %func21(%Int* %idx13, %Int* %sk_int14) | |
br label %"Invoke_Int#<_end23" | |
"Invoke_Int#<_end23": ; preds = %"Invoke_Int#<15" | |
%llvm_bool24 = call i1 @unbox_bool(%Bool* %result22) | |
%istrue25 = icmp eq i1 %llvm_bool24, true | |
br i1 %istrue25, label %IfThen10, label %IfElse11 | |
"Invoke_Object#panic": ; preds = %IfThen10 | |
%addr_vtable27 = getelementptr inbounds %Object, %Object* %as, i32 0, i32 0 | |
%vtable28 = load i8*, i8** %addr_vtable27, align 8 | |
%vtable_ptr29 = bitcast i8* %vtable28 to [16 x i8*]* | |
%vtable30 = load [16 x i8*], [16 x i8*]* %vtable_ptr29, align 8 | |
%func_raw31 = extractvalue [16 x i8*] %vtable30, 12 | |
%func32 = bitcast i8* %func_raw31 to void (%Object*, %Object*)* | |
call void %func32(%Object* %as, %Object* %as26) | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
unreachable | |
IfBegin34: ; preds = %IfEnd12 | |
%idx38 = load %Int*, %Int** %idx, align 8 | |
%"addr_@n_items39" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items40" = load %Int*, %Int** %"addr_@n_items39", align 8 | |
br label %"Invoke_Int#>=" | |
IfThen35: ; preds = %"Invoke_Int#>=_end" | |
%as50 = bitcast %Array* %self to %Object* | |
%sk_str51 = call %String* @gen_literal_string(i8* getelementptr inbounds ([29 x i8], [29 x i8]* @str_45, i32 0, i32 0), i64 28) | |
%as52 = bitcast %String* %sk_str51 to %Object* | |
br label %"Invoke_Object#panic53" | |
IfElse36: ; preds = %"Invoke_Int#>=_end" | |
%"::Void61" = load %Void*, %Void** @"::Void", align 8 | |
br label %IfEnd37 | |
IfEnd37: ; preds = %IfElse36 | |
%"addr_@items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 4 | |
%"@items" = load %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"** %"addr_@items", align 8 | |
%idx62 = load %Int*, %Int** %idx, align 8 | |
%"::Array::BYTES_OF_PTR" = load %Int*, %Int** @"::Array::BYTES_OF_PTR", align 8 | |
br label %"Invoke_Int#*" | |
"Invoke_Int#>=": ; preds = %IfBegin34 | |
%addr_vtable41 = getelementptr inbounds %Int, %Int* %idx38, i32 0, i32 0 | |
%vtable42 = load i8*, i8** %addr_vtable41, align 8 | |
%vtable_ptr43 = bitcast i8* %vtable42 to [35 x i8*]* | |
%vtable44 = load [35 x i8*], [35 x i8*]* %vtable_ptr43, align 8 | |
%func_raw45 = extractvalue [35 x i8*] %vtable44, 4 | |
%func46 = bitcast i8* %func_raw45 to %Bool* (%Int*, %Int*)* | |
%result47 = call %Bool* %func46(%Int* %idx38, %Int* %"@n_items40") | |
br label %"Invoke_Int#>=_end" | |
"Invoke_Int#>=_end": ; preds = %"Invoke_Int#>=" | |
%llvm_bool48 = call i1 @unbox_bool(%Bool* %result47) | |
%istrue49 = icmp eq i1 %llvm_bool48, true | |
br i1 %istrue49, label %IfThen35, label %IfElse36 | |
"Invoke_Object#panic53": ; preds = %IfThen35 | |
%addr_vtable54 = getelementptr inbounds %Object, %Object* %as50, i32 0, i32 0 | |
%vtable55 = load i8*, i8** %addr_vtable54, align 8 | |
%vtable_ptr56 = bitcast i8* %vtable55 to [16 x i8*]* | |
%vtable57 = load [16 x i8*], [16 x i8*]* %vtable_ptr56, align 8 | |
%func_raw58 = extractvalue [16 x i8*] %vtable57, 12 | |
%func59 = bitcast i8* %func_raw58 to void (%Object*, %Object*)* | |
call void %func59(%Object* %as50, %Object* %as52) | |
%"::Void60" = load %Void*, %Void** @"::Void", align 8 | |
unreachable | |
"Invoke_Int#*": ; preds = %IfEnd37 | |
%addr_vtable63 = getelementptr inbounds %Int, %Int* %idx62, i32 0, i32 0 | |
%vtable64 = load i8*, i8** %addr_vtable63, align 8 | |
%vtable_ptr65 = bitcast i8* %vtable64 to [35 x i8*]* | |
%vtable66 = load [35 x i8*], [35 x i8*]* %vtable_ptr65, align 8 | |
%func_raw67 = extractvalue [35 x i8*] %vtable66, 17 | |
%func68 = bitcast i8* %func_raw67 to %Int* (%Int*, %Int*)* | |
%result69 = call %Int* %func68(%Int* %idx62, %Int* %"::Array::BYTES_OF_PTR") | |
br label %"Invoke_Int#*_end" | |
"Invoke_Int#*_end": ; preds = %"Invoke_Int#*" | |
br label %"Invoke_Shiika::Internal::Ptr#+" | |
"Invoke_Shiika::Internal::Ptr#+": ; preds = %"Invoke_Int#*_end" | |
%addr_vtable70 = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %"@items", i32 0, i32 0 | |
%vtable71 = load i8*, i8** %addr_vtable70, align 8 | |
%vtable_ptr72 = bitcast i8* %vtable71 to [21 x i8*]* | |
%vtable73 = load [21 x i8*], [21 x i8*]* %vtable_ptr72, align 8 | |
%func_raw74 = extractvalue [21 x i8*] %vtable73, 16 | |
%func75 = bitcast i8* %func_raw74 to %"Shiika::Internal::Ptr"* (%"Shiika::Internal::Ptr"*, %Int*)* | |
%result76 = call %"Shiika::Internal::Ptr"* %func75(%"Shiika::Internal::Ptr"* %"@items", %Int* %result69) | |
br label %"Invoke_Shiika::Internal::Ptr#+_end" | |
"Invoke_Shiika::Internal::Ptr#+_end": ; preds = %"Invoke_Shiika::Internal::Ptr#+" | |
br label %"Invoke_Shiika::Internal::Ptr#store" | |
"Invoke_Shiika::Internal::Ptr#store": ; preds = %"Invoke_Shiika::Internal::Ptr#+_end" | |
%addr_vtable77 = getelementptr inbounds %"Shiika::Internal::Ptr", %"Shiika::Internal::Ptr"* %result76, i32 0, i32 0 | |
%vtable78 = load i8*, i8** %addr_vtable77, align 8 | |
%vtable_ptr79 = bitcast i8* %vtable78 to [21 x i8*]* | |
%vtable80 = load [21 x i8*], [21 x i8*]* %vtable_ptr79, align 8 | |
%func_raw81 = extractvalue [21 x i8*] %vtable80, 19 | |
%func82 = bitcast i8* %func_raw81 to %Void* (%"Shiika::Internal::Ptr"*, %Object*)* | |
%result83 = call %Void* %func82(%"Shiika::Internal::Ptr"* %result76, %Object* %obj) | |
br label %"Invoke_Shiika::Internal::Ptr#store_end" | |
"Invoke_Shiika::Internal::Ptr#store_end": ; preds = %"Invoke_Shiika::Internal::Ptr#store" | |
%"::Void84" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Shiika::Internal::Ptr#store_end" | |
br label %End | |
} | |
define %Bool* @"Array_all?"(%Array* %self, %Fn1* %f) { | |
alloca: | |
%ret = alloca %Bool*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%sk_bool = call %Bool* @box_bool(i1 true) | |
store %Bool* %sk_bool, %Bool** %ret, align 8 | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_2_in_Array#all?" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%result = call %Array* @Meta_Array_new(%Array* %"::Array") | |
%capture_item = bitcast %Fn1* %f to %Object* | |
%_ = call %Void* @Array_push(%Array* %result, %Object* %capture_item) | |
%capture_item1 = bitcast %Bool** %ret to %Object* | |
%_2 = call %Void* @Array_push(%Array* %result, %Object* %capture_item1) | |
%result3 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result) | |
%as = bitcast %Fn1* %result3 to %Object* | |
br label %"Invoke_Array#each" | |
End: ; preds = %Ret | |
%methodResult = phi %Bool* [ %ret6, %Ret ] | |
ret %Bool* %methodResult | |
"Invoke_Array#each": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %self, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [54 x i8*]* | |
%vtable4 = load [54 x i8*], [54 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [54 x i8*] %vtable4, 29 | |
%func = bitcast i8* %func_raw to %Void* (%Array*, %Object*)* | |
%result5 = call %Void* %func(%Array* %self, %Object* %as) | |
br label %"Invoke_Array#each_end" | |
"Invoke_Array#each_end": ; preds = %"Invoke_Array#each" | |
%ret6 = load %Bool*, %Bool** %ret, align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Array#each_end" | |
br label %End | |
} | |
define %Bool* @"Array_any?"(%Array* %self, %Fn1* %f) { | |
alloca: | |
%ret = alloca %Bool*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%sk_bool = call %Bool* @box_bool(i1 false) | |
store %Bool* %sk_bool, %Bool** %ret, align 8 | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_3_in_Array#any?" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%result = call %Array* @Meta_Array_new(%Array* %"::Array") | |
%capture_item = bitcast %Fn1* %f to %Object* | |
%_ = call %Void* @Array_push(%Array* %result, %Object* %capture_item) | |
%capture_item1 = bitcast %Bool** %ret to %Object* | |
%_2 = call %Void* @Array_push(%Array* %result, %Object* %capture_item1) | |
%result3 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result) | |
%as = bitcast %Fn1* %result3 to %Object* | |
br label %"Invoke_Array#each" | |
End: ; preds = %Ret | |
%methodResult = phi %Bool* [ %ret6, %Ret ] | |
ret %Bool* %methodResult | |
"Invoke_Array#each": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %self, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [54 x i8*]* | |
%vtable4 = load [54 x i8*], [54 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [54 x i8*] %vtable4, 29 | |
%func = bitcast i8* %func_raw to %Void* (%Array*, %Object*)* | |
%result5 = call %Void* %func(%Array* %self, %Object* %as) | |
br label %"Invoke_Array#each_end" | |
"Invoke_Array#each_end": ; preds = %"Invoke_Array#each" | |
%ret6 = load %Bool*, %Bool** %ret, align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Array#each_end" | |
br label %End | |
} | |
define %Void* @Array_append(%Array* %self, %Array* %other) { | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_4_in_Array#append" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%result = call %Array* @Meta_Array_new(%Array* %"::Array") | |
%result1 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result) | |
%as = bitcast %Fn1* %result1 to %Object* | |
br label %"Invoke_Array#each" | |
End: ; preds = %Ret | |
%"::Void4" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void4" | |
"Invoke_Array#each": ; preds = %0 | |
%addr_vtable = getelementptr inbounds %Array, %Array* %other, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [54 x i8*]* | |
%vtable2 = load [54 x i8*], [54 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [54 x i8*] %vtable2, 29 | |
%func = bitcast i8* %func_raw to %Void* (%Array*, %Object*)* | |
%result3 = call %Void* %func(%Array* %other, %Object* %as) | |
br label %"Invoke_Array#each_end" | |
"Invoke_Array#each_end": ; preds = %"Invoke_Array#each" | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Array#each_end" | |
br label %End | |
} | |
define %Void* @Array_clear(%Array* %self) { | |
%sk_int = call %Int* @box_int(i64 0) | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
store %Int* %sk_int, %Int** %"addr_@n_items", align 8 | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
End: ; preds = %Ret | |
%"::Void1" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void1" | |
Ret: ; preds = %0 | |
br label %End | |
} | |
define %Array* @Array_clone(%Array* %self) { | |
alloca: | |
%"ary@6_" = alloca %Array*, align 8 | |
%ret = alloca %Array*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%"::Array1" = load %Array*, %Array** @"::Array", align 8 | |
%"::Class" = load %Class.0*, %Class.0** @"::Class", align 8 | |
br label %"Invoke_Class#_specialize1" | |
End: ; preds = %Ret | |
%methodResult = phi %Array* [ %ret45, %Ret ] | |
ret %Array* %methodResult | |
"Invoke_Class#_specialize1": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %"::Array1", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [25 x i8*]* | |
%vtable2 = load [25 x i8*], [25 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [25 x i8*] %vtable2, 18 | |
%func = bitcast i8* %func_raw to %Array* (%Array*, %Class.0*)* | |
%result = call %Array* %func(%Array* %"::Array1", %Class.0* %"::Class") | |
br label %"Invoke_Class#_specialize1_end" | |
"Invoke_Class#_specialize1_end": ; preds = %"Invoke_Class#_specialize1" | |
br label %"Invoke_Array#new" | |
"Invoke_Array#new": ; preds = %"Invoke_Class#_specialize1_end" | |
%addr_vtable3 = getelementptr inbounds %Array, %Array* %result, i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [25 x i8*]* | |
%vtable6 = load [25 x i8*], [25 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [25 x i8*] %vtable6, 23 | |
%func8 = bitcast i8* %func_raw7 to %Array* (%Array*)* | |
%result9 = call %Array* %func8(%Array* %result) | |
br label %"Invoke_Array#new_end" | |
"Invoke_Array#new_end": ; preds = %"Invoke_Array#new" | |
store %Array* %result9, %Array** %"ary@6_", align 8 | |
%"ary@6_10" = load %Array*, %Array** %"ary@6_", align 8 | |
%addr_class = getelementptr inbounds %Array, %Array* %self, i32 0, i32 1 | |
%class = load %Class.0*, %Class.0** %addr_class, align 8 | |
%sk_int = call %Int* @box_int(i64 0) | |
%result11 = call %Class.0* @Class___type__argument(%Class.0* %class, %Int* %sk_int) | |
%as = bitcast %Class.0* %result11 to %Object* | |
br label %"Invoke_Array#push" | |
"Invoke_Array#push": ; preds = %"Invoke_Array#new_end" | |
%addr_vtable12 = getelementptr inbounds %Array, %Array* %"ary@6_10", i32 0, i32 0 | |
%vtable13 = load i8*, i8** %addr_vtable12, align 8 | |
%vtable_ptr14 = bitcast i8* %vtable13 to [54 x i8*]* | |
%vtable15 = load [54 x i8*], [54 x i8*]* %vtable_ptr14, align 8 | |
%func_raw16 = extractvalue [54 x i8*] %vtable15, 45 | |
%func17 = bitcast i8* %func_raw16 to %Void* (%Array*, %Object*)* | |
%result18 = call %Void* %func17(%Array* %"ary@6_10", %Object* %as) | |
br label %"Invoke_Array#push_end" | |
"Invoke_Array#push_end": ; preds = %"Invoke_Array#push" | |
%"ary@6_19" = load %Array*, %Array** %"ary@6_", align 8 | |
br label %"Invoke_Class#<>" | |
"Invoke_Class#<>": ; preds = %"Invoke_Array#push_end" | |
%addr_vtable20 = getelementptr inbounds %Array, %Array* %"::Array", i32 0, i32 0 | |
%vtable21 = load i8*, i8** %addr_vtable20, align 8 | |
%vtable_ptr22 = bitcast i8* %vtable21 to [25 x i8*]* | |
%vtable23 = load [25 x i8*], [25 x i8*]* %vtable_ptr22, align 8 | |
%func_raw24 = extractvalue [25 x i8*] %vtable23, 16 | |
%func25 = bitcast i8* %func_raw24 to %Array* (%Array*, %Array*)* | |
%result26 = call %Array* %func25(%Array* %"::Array", %Array* %"ary@6_19") | |
br label %"Invoke_Class#<>_end" | |
"Invoke_Class#<>_end": ; preds = %"Invoke_Class#<>" | |
br label %"Invoke_Meta:Array#new" | |
"Invoke_Meta:Array#new": ; preds = %"Invoke_Class#<>_end" | |
%addr_vtable27 = getelementptr inbounds %Array, %Array* %result26, i32 0, i32 0 | |
%vtable28 = load i8*, i8** %addr_vtable27, align 8 | |
%vtable_ptr29 = bitcast i8* %vtable28 to [25 x i8*]* | |
%vtable30 = load [25 x i8*], [25 x i8*]* %vtable_ptr29, align 8 | |
%func_raw31 = extractvalue [25 x i8*] %vtable30, 23 | |
%func32 = bitcast i8* %func_raw31 to %Array* (%Array*)* | |
%result33 = call %Array* %func32(%Array* %result26) | |
br label %"Invoke_Meta:Array#new_end" | |
"Invoke_Meta:Array#new_end": ; preds = %"Invoke_Meta:Array#new" | |
store %Array* %result33, %Array** %ret, align 8 | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_5_in_Array#clone" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array34" = load %Array*, %Array** @"::Array", align 8 | |
%result35 = call %Array* @Meta_Array_new(%Array* %"::Array34") | |
%capture_item = bitcast %Array** %ret to %Object* | |
%_ = call %Void* @Array_push(%Array* %result35, %Object* %capture_item) | |
%result36 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result35) | |
%as37 = bitcast %Fn1* %result36 to %Object* | |
br label %"Invoke_Array#each" | |
"Invoke_Array#each": ; preds = %"Invoke_Meta:Array#new_end" | |
%addr_vtable38 = getelementptr inbounds %Array, %Array* %self, i32 0, i32 0 | |
%vtable39 = load i8*, i8** %addr_vtable38, align 8 | |
%vtable_ptr40 = bitcast i8* %vtable39 to [54 x i8*]* | |
%vtable41 = load [54 x i8*], [54 x i8*]* %vtable_ptr40, align 8 | |
%func_raw42 = extractvalue [54 x i8*] %vtable41, 29 | |
%func43 = bitcast i8* %func_raw42 to %Void* (%Array*, %Object*)* | |
%result44 = call %Void* %func43(%Array* %self, %Object* %as37) | |
br label %"Invoke_Array#each_end" | |
"Invoke_Array#each_end": ; preds = %"Invoke_Array#each" | |
%ret45 = load %Array*, %Array** %ret, align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Array#each_end" | |
br label %End | |
} | |
define %Array* @Array_drop(%Array* %self, %Int* %n) { | |
alloca: | |
%"ary@7_" = alloca %Array*, align 8 | |
%ret = alloca %Array*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%"::Array" = load %Array*, %Array** @"::Array", align 8 | |
%"::Array1" = load %Array*, %Array** @"::Array", align 8 | |
%"::Class" = load %Class.0*, %Class.0** @"::Class", align 8 | |
br label %"Invoke_Class#_specialize1" | |
End: ; preds = %Ret | |
%methodResult = phi %Array* [ %ret52, %Ret ] | |
ret %Array* %methodResult | |
"Invoke_Class#_specialize1": ; preds = %alloca_End | |
%addr_vtable = getelementptr inbounds %Array, %Array* %"::Array1", i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [25 x i8*]* | |
%vtable2 = load [25 x i8*], [25 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [25 x i8*] %vtable2, 18 | |
%func = bitcast i8* %func_raw to %Array* (%Array*, %Class.0*)* | |
%result = call %Array* %func(%Array* %"::Array1", %Class.0* %"::Class") | |
br label %"Invoke_Class#_specialize1_end" | |
"Invoke_Class#_specialize1_end": ; preds = %"Invoke_Class#_specialize1" | |
br label %"Invoke_Array#new" | |
"Invoke_Array#new": ; preds = %"Invoke_Class#_specialize1_end" | |
%addr_vtable3 = getelementptr inbounds %Array, %Array* %result, i32 0, i32 0 | |
%vtable4 = load i8*, i8** %addr_vtable3, align 8 | |
%vtable_ptr5 = bitcast i8* %vtable4 to [25 x i8*]* | |
%vtable6 = load [25 x i8*], [25 x i8*]* %vtable_ptr5, align 8 | |
%func_raw7 = extractvalue [25 x i8*] %vtable6, 23 | |
%func8 = bitcast i8* %func_raw7 to %Array* (%Array*)* | |
%result9 = call %Array* %func8(%Array* %result) | |
br label %"Invoke_Array#new_end" | |
"Invoke_Array#new_end": ; preds = %"Invoke_Array#new" | |
store %Array* %result9, %Array** %"ary@7_", align 8 | |
%"ary@7_10" = load %Array*, %Array** %"ary@7_", align 8 | |
%addr_class = getelementptr inbounds %Array, %Array* %self, i32 0, i32 1 | |
%class = load %Class.0*, %Class.0** %addr_class, align 8 | |
%sk_int = call %Int* @box_int(i64 0) | |
%result11 = call %Class.0* @Class___type__argument(%Class.0* %class, %Int* %sk_int) | |
%as = bitcast %Class.0* %result11 to %Object* | |
br label %"Invoke_Array#push" | |
"Invoke_Array#push": ; preds = %"Invoke_Array#new_end" | |
%addr_vtable12 = getelementptr inbounds %Array, %Array* %"ary@7_10", i32 0, i32 0 | |
%vtable13 = load i8*, i8** %addr_vtable12, align 8 | |
%vtable_ptr14 = bitcast i8* %vtable13 to [54 x i8*]* | |
%vtable15 = load [54 x i8*], [54 x i8*]* %vtable_ptr14, align 8 | |
%func_raw16 = extractvalue [54 x i8*] %vtable15, 45 | |
%func17 = bitcast i8* %func_raw16 to %Void* (%Array*, %Object*)* | |
%result18 = call %Void* %func17(%Array* %"ary@7_10", %Object* %as) | |
br label %"Invoke_Array#push_end" | |
"Invoke_Array#push_end": ; preds = %"Invoke_Array#push" | |
%"ary@7_19" = load %Array*, %Array** %"ary@7_", align 8 | |
br label %"Invoke_Class#<>" | |
"Invoke_Class#<>": ; preds = %"Invoke_Array#push_end" | |
%addr_vtable20 = getelementptr inbounds %Array, %Array* %"::Array", i32 0, i32 0 | |
%vtable21 = load i8*, i8** %addr_vtable20, align 8 | |
%vtable_ptr22 = bitcast i8* %vtable21 to [25 x i8*]* | |
%vtable23 = load [25 x i8*], [25 x i8*]* %vtable_ptr22, align 8 | |
%func_raw24 = extractvalue [25 x i8*] %vtable23, 16 | |
%func25 = bitcast i8* %func_raw24 to %Array* (%Array*, %Array*)* | |
%result26 = call %Array* %func25(%Array* %"::Array", %Array* %"ary@7_19") | |
br label %"Invoke_Class#<>_end" | |
"Invoke_Class#<>_end": ; preds = %"Invoke_Class#<>" | |
br label %"Invoke_Meta:Array#new" | |
"Invoke_Meta:Array#new": ; preds = %"Invoke_Class#<>_end" | |
%addr_vtable27 = getelementptr inbounds %Array, %Array* %result26, i32 0, i32 0 | |
%vtable28 = load i8*, i8** %addr_vtable27, align 8 | |
%vtable_ptr29 = bitcast i8* %vtable28 to [25 x i8*]* | |
%vtable30 = load [25 x i8*], [25 x i8*]* %vtable_ptr29, align 8 | |
%func_raw31 = extractvalue [25 x i8*] %vtable30, 23 | |
%func32 = bitcast i8* %func_raw31 to %Array* (%Array*)* | |
%result33 = call %Array* %func32(%Array* %result26) | |
br label %"Invoke_Meta:Array#new_end" | |
"Invoke_Meta:Array#new_end": ; preds = %"Invoke_Meta:Array#new" | |
store %Array* %result33, %Array** %ret, align 8 | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items" = load %Int*, %Int** %"addr_@n_items", align 8 | |
%sk_int34 = call %Int* @box_int(i64 1) | |
br label %"Invoke_Int#-" | |
"Invoke_Int#-": ; preds = %"Invoke_Meta:Array#new_end" | |
%addr_vtable35 = getelementptr inbounds %Int, %Int* %"@n_items", i32 0, i32 0 | |
%vtable36 = load i8*, i8** %addr_vtable35, align 8 | |
%vtable_ptr37 = bitcast i8* %vtable36 to [35 x i8*]* | |
%vtable38 = load [35 x i8*], [35 x i8*]* %vtable_ptr37, align 8 | |
%func_raw39 = extractvalue [35 x i8*] %vtable38, 19 | |
%func40 = bitcast i8* %func_raw39 to %Int* (%Int*, %Int*)* | |
%result41 = call %Int* %func40(%Int* %"@n_items", %Int* %sk_int34) | |
br label %"Invoke_Int#-_end" | |
"Invoke_Int#-_end": ; preds = %"Invoke_Int#-" | |
%"::Fn1" = load %Fn1*, %Fn1** @"::Fn1", align 8 | |
%sk_ptr = call %"Shiika::Internal::Ptr"* @box_i8ptr(i8* bitcast (%Void* (%Fn1*, %Object*)* @"lambda_6_in_Array#drop" to i8*)) | |
%the_main = bitcast %Array* %self to %Object* | |
%"::Array42" = load %Array*, %Array** @"::Array", align 8 | |
%result43 = call %Array* @Meta_Array_new(%Array* %"::Array42") | |
%capture_item = bitcast %Array** %ret to %Object* | |
%_ = call %Void* @Array_push(%Array* %result43, %Object* %capture_item) | |
%result44 = call %Fn1* @Meta_Fn1_new(%Fn1* %"::Fn1", %"Shiika::Internal::Ptr"* %sk_ptr, %Object* %the_main, %Array* %result43) | |
br label %"Invoke_Int#upto" | |
"Invoke_Int#upto": ; preds = %"Invoke_Int#-_end" | |
%addr_vtable45 = getelementptr inbounds %Int, %Int* %n, i32 0, i32 0 | |
%vtable46 = load i8*, i8** %addr_vtable45, align 8 | |
%vtable_ptr47 = bitcast i8* %vtable46 to [35 x i8*]* | |
%vtable48 = load [35 x i8*], [35 x i8*]* %vtable_ptr47, align 8 | |
%func_raw49 = extractvalue [35 x i8*] %vtable48, 33 | |
%func50 = bitcast i8* %func_raw49 to %Void* (%Int*, %Int*, %Fn1*)* | |
%result51 = call %Void* %func50(%Int* %n, %Int* %result41, %Fn1* %result44) | |
br label %"Invoke_Int#upto_end" | |
"Invoke_Int#upto_end": ; preds = %"Invoke_Int#upto" | |
%ret52 = load %Array*, %Array** %ret, align 8 | |
br label %Ret | |
Ret: ; preds = %"Invoke_Int#upto_end" | |
br label %End | |
} | |
define %Void* @Array_each(%Array* %self, %Fn1* %f) { | |
alloca: | |
%i = alloca %Int*, align 8 | |
br label %alloca_End | |
alloca_End: ; preds = %alloca | |
%sk_int = call %Int* @box_int(i64 0) | |
store %Int* %sk_int, %Int** %i, align 8 | |
br label %WhileBegin | |
End: ; preds = %Ret, %Invoke_lambda | |
%"::Void26" = load %Void*, %Void** @"::Void", align 8 | |
ret %Void* %"::Void26" | |
WhileBegin: ; preds = %"Invoke_Int#+_end", %alloca_End | |
%i1 = load %Int*, %Int** %i, align 8 | |
%"addr_@n_items" = getelementptr inbounds %Array, %Array* %self, i32 0, i32 3 | |
%"@n_items" = load %Int*, %Int** %"addr_@n_items", align 8 | |
br label %"Invoke_Int#<" | |
"Invoke_Int#<": ; preds = %WhileBegin | |
%addr_vtable = getelementptr inbounds %Int, %Int* %i1, i32 0, i32 0 | |
%vtable = load i8*, i8** %addr_vtable, align 8 | |
%vtable_ptr = bitcast i8* %vtable to [35 x i8*]* | |
%vtable2 = load [35 x i8*], [35 x i8*]* %vtable_ptr, align 8 | |
%func_raw = extractvalue [35 x i8*] %vtable2, 0 | |
%func = bitcast i8* %func_raw to %Bool* (%Int*, %Int*)* | |
%result = call %Bool* %func(%Int* %i1, %Int* %"@n_items") | |
br label %"Invoke_Int#<_end" | |
"Invoke_Int#<_end": ; preds = %"Invoke_Int#<" | |
%llvm_bool = call i1 @unbox_bool(%Bool* %result) | |
%istrue = icmp eq i1 %llvm_bool, true | |
br i1 %istrue, label %WhileBody, label %WhileEnd | |
WhileBody: ; preds = %"Invoke_Int#<_end" | |
%i3 = load %Int*, %Int** %i, align 8 | |
%as = bitcast %Int* %i3 to %Object* | |
br label %"Invoke_Array#[]" | |
WhileEnd: ; preds = %"Invoke_Int#<_end" | |
%"::Void" = load %Void*, %Void** @"::Void", align 8 | |
%"::Void25" = load %Void*, %Void** @"::Void", align 8 | |
br label %Ret | |
"Invoke_Array#[]": ; preds = %WhileBody | |
%addr_vtable4 = getelementptr inbounds %Array, %Array* %self, i32 0, i32 0 | |
%vtable5 = load i8*, i8** %addr_vtable4, align 8 | |
%vtable_ptr6 = bitcast i8* %vtable5 to [54 x i8*]* | |
%vtable7 = load [54 x i8*], [54 x i8*]* %vtable_ptr6, align 8 | |
%func_raw8 = extractvalue [54 x i8*] %vtable7, 16 | |
%func9 = bitcast i8* %func_raw8 to %Object* (%Array*, %Object*)* | |
%result10 = call %Object* %func9(%Array* %self, %Object* %as) | |
br label %"Invoke_Array#[]_end" | |
"Invoke_Array#[]_end": ; preds = %"Invoke_Array#[]" | |
br label %Invoke_lambda | |
Invoke_lambda: ; preds = %"Invoke_Array#[]_end" | |
%"addr_@func" = getelementptr inbounds %Fn1, %Fn1* %f, i32 0, i32 2 | |
%"@func" = load %"Shiika::Internal::Ptr"*, %"Shiika::Internal::Ptr"** %"addr_@func", align 8 | |
%llvm_ptr = call i8* @unbox_i8ptr(%"Shiika::Internal::Ptr"* %"@func") | |
%0 = bitcast i8* %llvm_ptr to %Void* (%Fn1*, %Object*)* | |
%result11 = call %Void* %0(%Fn1* %f, %Object* %result10) | |
%"addr_@exit_status" = getelementptr inbounds %Fn1, %Fn1* %f, i32 0, i32 5 | |
%"@exit_status" = load %Int*, %Int** %"addr_@exit_status", align 8 | |
%sk_int12 = call %Int* @box_int(i64 1) | |
%result13 = call %Bool* @Int_eq_(%Int* %"@exit_status", %Int* %sk_int12) | |
%llvm_bool14 = call i1 @unbox_bool(%Bool* %result13) | |
%istrue15 = icmp eq i1 %llvm_bool14, true | |
br i1 %istrue15, label %End, label %Invoke_lambda_end | |
Invoke_lambda_end: ; preds = %Invoke_lambda | |
%i16 = load %Int*, %Int** %i, align 8 | |
%sk_int17 = call %Int* @box_int(i64 1) | |
br label %"Invoke_Int#+" | |
"Invoke_Int#+": ; preds = %Invoke_lambda_end | |
%addr_vtable18 = getelementptr inbounds %Int, %Int* %i16, i32 0, i32 0 | |
%vtable19 = load i8*, i8** %addr_vtable18, align 8 | |
%vtable_ptr20 = bitcast i8* %vtable19 to [35 x i8*]* | |
%vtable21 = load [35 x i8*], [35 x i8*]* %vtable_ptr20, align 8 | |
%func_raw22 = extractvalue [35 x i8*] %vtable21, 18 | |
%func23 = bitcast i8* %func_raw22 to %Int* (%Int*, %Int*)* | |
%result24 = call %Int* %func23(%Int* %i16, %Int* %sk_int17) | |
br label %"Invoke_Int#+_end" | |
"Invoke_Int#+_end": ; preds = %"Invoke_Int#+" | |
store %Int* %result24, %Int** %i, align 8 | |
br label %WhileBegin | |
Ret: ; preds = %WhileEnd | |
br label %End | |
} | |