diff options
-rw-r--r-- | test/CodeGen/X86/2011-03-08-Sched-crash.ll | 1915 |
1 files changed, 8 insertions, 1907 deletions
diff --git a/test/CodeGen/X86/2011-03-08-Sched-crash.ll b/test/CodeGen/X86/2011-03-08-Sched-crash.ll index 22b3114726..6329ae670e 100644 --- a/test/CodeGen/X86/2011-03-08-Sched-crash.ll +++ b/test/CodeGen/X86/2011-03-08-Sched-crash.ll @@ -1,1733 +1,12 @@ ; RUN: llc < %s -; ModuleID = 'bugpoint-reduced-simplified.bc' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32" target triple = "i386-apple-darwin9.0.0" -%0 = type { %"class.JSC::ExecutablePool"**, i32, i32, %2 } -%1 = type { %"class.js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry"*, i32, i32, %2 } -%2 = type { %"union.js::AlignedStorage<16>::U" } -%3 = type { i16* } -%4 = type { %5 } -%5 = type { %6, %6 } -%6 = type { %struct.JSString* } -%7 = type { %"struct.js::gc::ArenaHeader" } -%8 = type { double } -%9 = type { %7, %10 } -%10 = type { [4072 x %"union.js::gc::ThingOrCell"] } -%11 = type { %"struct.js::Shape"* } -%12 = type { i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)* } -%13 = type { i32 (%struct.JSContext*, %struct.JSObject*, i32, i32, %"class.js::Value"*)* } -%14 = type { %"class.js::KidsPointer" } -%15 = type { %struct.JSObject* } -%16 = type { %"class.JSC::ExecutablePool"**, i32, i32, %"class.js::Value" } -%17 = type { %"struct.js::VMSideExit"**, i32, i32, %"class.nanojit::Allocator"* } -%18 = type { %"class.js::Value"*, i32, i32, %"class.nanojit::Allocator"* } -%19 = type { %"struct.js::Shape"**, i32, i32, %"class.nanojit::Allocator"* } -%20 = type { %"class.nanojit::CodeList"* } -%21 = type { %"class.nanojit::Allocator"*, i32, %22** } -%22 = type opaque -%23 = type { %"class.nanojit::Allocator"*, i32, %24** } -%24 = type opaque -%25 = type { %"class.nanojit::Allocator"*, i32, %26** } -%26 = type opaque -%27 = type { %"class.nanojit::Allocator"*, i32, %28** } -%28 = type opaque -%29 = type { %30 } -%30 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::FrameInfo *const, js::HashSet<js::FrameInfo *, js::FrameInfoCache::HashPolicy, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%31 = type { i8**, i32, i32, %"class.nanojit::Allocator"* } -%32 = type { %33 } -%33 = type { [4 x i8], i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry, js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::MapHashPolicy, js::ContextAllocPolicy>::Entry"* } -%34 = type { [4 x i8], i32*, i32, i32, %"class.js::Value" } -%35 = type { [4 x i8], i8*, i32, i32, %36 } -%36 = type { %"union.js::AlignedStorage<256>::U" } -%37 = type { %struct.JSScript* } -%38 = type { i16*, i32, i32, %"class.nanojit::Allocator"* } -%39 = type { %40 } -%40 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%41 = type { %42 } -%42 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%43 = type { %44 } -%44 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<JSScript *const, js::HashSet<JSScript *, js::DefaultHasher<JSScript *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%45 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<js::Value, js::Value, js::WrapperHasher, js::SystemAllocPolicy>::Entry, js::HashMap<js::Value, js::Value, js::WrapperHasher, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%46 = type { i8*, i8*, i8* } -%47 = type { %48 } -%48 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::EmptyShape *const, js::HashSet<js::EmptyShape *, js::DefaultHasher<js::EmptyShape *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%49 = type { %50 } -%50 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<JSFunction *, JSString *, js::DefaultHasher<JSFunction *>, js::SystemAllocPolicy>::Entry, js::HashMap<JSFunction *, JSString *, js::DefaultHasher<JSFunction *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%51 = type { %struct.JSCompartment**, i32, i32, %"class.js::Value" } -%52 = type { %53 } -%53 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::gc::Chunk *const, js::HashSet<js::gc::Chunk *, js::GCChunkHasher, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%54 = type { %55 } -%55 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<void *, js::RootInfo, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry, js::HashMap<void *, js::RootInfo, js::DefaultHasher<void *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%56 = type { %57 } -%57 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<void *, unsigned int, js::GCPtrHasher, js::SystemAllocPolicy>::Entry, js::HashMap<void *, unsigned int, js::GCPtrHasher, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%58 = type { i32 (%struct.JSContext*, i32, %"class.js::Value"*)*, %"struct.js::Class"*, %struct.JSNativeTraceInfo* } -%59 = type { [18 x i32] } -%60 = type { i8***, i32, i32, %61 } -%61 = type { %"union.js::AlignedStorage<64>::U" } -%62 = type { %63 } -%63 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry, js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%64 = type { %65 } -%65 = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<const unsigned long, js::HashSet<unsigned long, js::AtomHasher, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%66 = type { %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom* } -%67 = type { %"struct.js::SlotMap::SlotInfo"*, i32, i32, %"class.nanojit::Allocator"* } -%68 = type { %struct.JSXMLElemVar } -%69 = type { [36 x i8], [38 x i8], [72 x i8] } -%70 = type { [41 x i8] } -%71 = type { [38 x i8] } -%72 = type { [7 x i8], [15 x i8] } -%73 = type { [8 x i8], [12 x i8], [16 x i8], [21 x i8], [26 x i8], [31 x i8], [36 x i8], [41 x i8], [46 x i8] } -%74 = type { [7 x i8], [7 x i8], [7 x i8], [7 x i8], [7 x i8], [7 x i8], [7 x i8], [7 x i8], [7 x i8] } -%75 = type { [4 x i8] } -%76 = type { [5 x i8] } -%77 = type { i32, void ()* } -%78 = type { i8*, i32, i32, %"class.nanojit::Allocator"* } -%79 = type { i32*, i32, i32, %"class.nanojit::Allocator"* } -%80 = type { i32, i1 } -%class.DSTOffsetCache = type { i64, i64, i64, i64, i64, i64 } -%"class.JSC::ExecutableAllocator" = type { %0 } -%"class.JSC::ExecutablePool" = type { i32, i8, i32, i8*, i8*, %1 } -%"class.JSC::MacroAssemblerCodePtr" = type { i8* } -%"class.JSC::MacroAssemblerCodeRef" = type { %"class.JSC::MacroAssemblerCodePtr", %"class.JSC::ExecutablePool"*, i32 } -%"class.avmplus::AvmConsole" = type { i8 } -%"class.avmplus::AvmCore" = type { %"class.avmplus::AvmInterpreter", %"class.avmplus::AvmConsole" } -%"class.avmplus::AvmInterpreter" = type { %"class.avmplus::AvmConsole", %"class.avmplus::AvmConsole"* } -%"class.avmplus::BitSet" = type { i32, i32* } -%"class.js::AutoGCRooter" = type { %"class.js::AutoGCRooter"*, i32, %struct.JSContext* } -%"class.js::AutoIdRooter" = type { [12 x i8], i32 } -%"class.js::AutoIdVector" = type { [60 x i8] } -%"class.js::AutoValueRooter" = type { [12 x i8], [4 x i8], %"class.js::Value" } -%"class.js::Bindings" = type { %"struct.js::Shape"*, i16, i16, i16 } -%"class.js::BoxArg" = type { %"class.js::TraceRecorder"*, %"struct.js::tjit::Address" } -%"class.js::CaptureTypesVisitor" = type { %struct.JSContext*, i8*, i8*, %"class.js::Oracle"* } -%"class.js::ClearSlotsVisitor" = type { %"class.js::Tracker"* } -%"class.js::ContextAllocPolicy" = type { %struct.JSContext* } -%"class.js::DefaultSlotMap" = type { [28 x i8] } -%"class.js::DetermineTypesVisitor" = type { %"class.js::TraceRecorder"*, i8* } -%"class.js::DtoaCache" = type { double, i32, %struct.JSString* } -%"class.js::FlushNativeStackFrameVisitor" = type { %struct.JSContext*, i8*, i8*, double* } -%"class.js::FrameInfoCache" = type { %29, %"class.js::VMAllocator"* } -%"class.js::GCChunkAllocator" = type { i32 (...)** } -%"class.js::GCHelperThread" = type { %struct.PRThread*, %struct.PRCondVar*, %struct.PRCondVar*, i8, i8, %60, i8**, i8** } -%"class.js::HashMap" = type { %45 } -%"class.js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry" = type { %"class.nanojit::LIns"*, %struct.JSObject* } -%"class.js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry" = type { i8*, %"class.js::LoopProfile"* } -%"class.js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry" = type { i8*, i32 } -%"class.js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry" = type { i8*, %struct.JSThread* } -%"class.js::HashSet" = type { %"class.js::detail::HashTable" } -%"class.js::ImportBoxedStackSlotVisitor" = type { %"class.js::TraceRecorder"*, %"class.nanojit::LIns"*, i32, i8*, %struct.JSStackFrame* } -%"class.js::KidsPointer" = type { i32 } -%"class.js::LoopProfile" = type { %"struct.js::TraceMonitor"*, %struct.JSScript*, %struct.JSStackFrame*, i8*, i8*, i32, i8, i8, i8, i8, i8, [11 x i32], i32, [11 x i32], i32, double, double, i8, i8, [8 x %"struct.js::LoopProfile::InnerLoop"], i32, [8 x %"struct.js::LoopProfile::InnerLoop"], i32, [6 x %"struct.js::LoopProfile::StackValue"], i32 } -%"class.js::MathCache" = type { [4096 x %"struct.js::MathCache::Entry"] } -%"class.js::NativeIterCache" = type { [256 x %struct.JSObject*], %struct.JSObject* } -%"class.js::Oracle" = type { %"class.avmplus::BitSet", %"class.avmplus::BitSet", %"class.avmplus::BitSet", %"class.avmplus::BitSet" } -%"class.js::PropertyCache" = type { [4096 x %"struct.js::PropertyCacheEntry"], i32 } -%"class.js::PropertyTree" = type { %struct.JSCompartment*, %struct.JSArenaPool, %"struct.js::Shape"* } -%"class.js::Queue" = type { %"struct.js::TreeFragment"**, i32, i32, %"class.nanojit::Allocator"* } -%"class.js::SlotMap" = type { i32 (...)**, %"class.js::TraceRecorder"*, %struct.JSContext*, %67 } -%"class.js::StackSegment" = type { %struct.JSContext*, %"class.js::StackSegment"*, %"class.js::StackSegment"*, %struct.JSStackFrame*, %struct.JSFrameRegs*, %struct.JSObject*, i8, i8* } -%"class.js::StackSpace" = type { %"class.js::Value"*, %"class.js::Value"*, %"class.js::StackSegment"*, %"class.js::Value"* } -%"class.js::TraceRecorder" = type { %struct.JSContext*, %"struct.js::TraceMonitor"*, %"class.js::Oracle"*, %"class.js::VMFragment"*, %"struct.js::TreeFragment"*, %struct.JSObject*, %struct.JSScript*, i8*, i32, %"struct.js::VMSideExit"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, i32, i32, %"class.js::TypeMap", %"class.nanojit::LirBuffer"*, %"struct.js::VMAllocator::Mark", i32, %"class.js::Tracker", %"class.js::Tracker", %"class.js::Value"*, i32, %struct.JSAtom**, %"class.js::Value"*, %"class.nanojit::LIns"*, %31, i8, %"class.js::Queue", %32, i32, i8, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %struct.JSSpecializedNative*, %"class.js::Value"*, %"class.nanojit::LIns"*, %34, i8, %struct.JSSpecializedNative, %35, %"class.js::tjit::Writer" } -%"class.js::Tracker" = type { %"struct.js::Tracker::TrackerPage"* } -%"class.js::TypeMap" = type { [16 x i8], %"class.js::Oracle"* } -%"class.js::VMAllocator" = type { [12 x i8], i8, i32, i8*, i32, i32 } -%"class.js::VMFragment" = type { [28 x i8], %"struct.js::TreeFragment"* } -%"class.js::Value" = type { %"union.js::AlignedStorage<1>::U" } -%"class.js::Vector" = type { %struct.JSGenerator**, i32, i32, %"class.js::Value" } -%"class.js::detail::HashTable" = type { i32, i32, i32, i32, i32, %"class.js::detail::HashTable<JSObject *const, js::HashSet<JSObject *, js::DefaultHasher<JSObject *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<JSObject *const, js::HashSet<JSObject *, js::DefaultHasher<JSObject *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<JSScript *const, js::HashSet<JSScript *, js::DefaultHasher<JSScript *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::AddPtr" = type { [4 x i8], i32 } -%"class.js::detail::HashTable<JSScript *const, js::HashSet<JSScript *, js::DefaultHasher<JSScript *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type { i32, %struct.JSScript* } -%"class.js::detail::HashTable<JSScript *const, js::HashSet<JSScript *, js::DefaultHasher<JSScript *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Ptr" = type { %"class.js::detail::HashTable<JSScript *const, js::HashSet<JSScript *, js::DefaultHasher<JSScript *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<const unsigned long, js::HashSet<unsigned long, js::AtomHasher, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::EmptyShape *const, js::HashSet<js::EmptyShape *, js::DefaultHasher<js::EmptyShape *>, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::FrameInfo *const, js::HashSet<js::FrameInfo *, js::FrameInfoCache::HashPolicy, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type { i32, %"struct.js::FrameInfo"* } -%"class.js::detail::HashTable<js::FrameInfo *const, js::HashSet<js::FrameInfo *, js::FrameInfoCache::HashPolicy, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Ptr" = type { %"class.js::detail::HashTable<js::FrameInfo *const, js::HashSet<js::FrameInfo *, js::FrameInfoCache::HashPolicy, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<js::HashMap<JSFunction *, JSString *, js::DefaultHasher<JSFunction *>, js::SystemAllocPolicy>::Entry, js::HashMap<JSFunction *, JSString *, js::DefaultHasher<JSFunction *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::HashMap<js::Value, js::Value, js::WrapperHasher, js::SystemAllocPolicy>::Entry, js::HashMap<js::Value, js::Value, js::WrapperHasher, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry, js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::MapHashPolicy, js::ContextAllocPolicy>::Entry" = type { i32, %"class.js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry" } -%"class.js::detail::HashTable<js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry, js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::MapHashPolicy, js::ContextAllocPolicy>::Ptr" = type { %"class.js::detail::HashTable<js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::Entry, js::HashMap<nanojit::LIns *, JSObject *, js::DefaultHasher<nanojit::LIns *>, js::ContextAllocPolicy>::MapHashPolicy, js::ContextAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type { i32, %"class.js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry" } -%"class.js::detail::HashTable<js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Ptr" = type { %"class.js::detail::HashTable<js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, js::LoopProfile *, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type { i32, %"class.js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry" } -%"class.js::detail::HashTable<js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Ptr" = type { %"class.js::detail::HashTable<js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry, js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry"* } -%"class.js::detail::HashTable<js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry, js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type { i32, %"class.js::HashMap<void *, JSThread *, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry" } -%"class.js::detail::HashTable<js::HashMap<void *, js::RootInfo, js::DefaultHasher<void *>, js::SystemAllocPolicy>::Entry, js::HashMap<void *, js::RootInfo, js::DefaultHasher<void *>, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::HashMap<void *, unsigned int, js::GCPtrHasher, js::SystemAllocPolicy>::Entry, js::HashMap<void *, unsigned int, js::GCPtrHasher, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::detail::HashTable<js::gc::Chunk *const, js::HashSet<js::gc::Chunk *, js::GCChunkHasher, js::SystemAllocPolicy>::SetOps, js::SystemAllocPolicy>::Entry" = type opaque -%"class.js::mjit::JaegerCompartment" = type { %"class.JSC::ExecutableAllocator"*, %"struct.js::mjit::Trampolines", %"struct.js::VMFrame"* } -%"class.js::tjit::Writer" = type { %"class.nanojit::Allocator"*, %"class.nanojit::LirBuffer"*, %"class.nanojit::LirFilter"*, %"class.nanojit::CseFilter"*, %"class.nanojit::LogControl"* } -%"class.nanojit::AR" = type { i32, [4096 x %"class.nanojit::LIns"*] } -%"class.nanojit::Allocator" = type { %"class.nanojit::Allocator::Chunk"*, i8*, i8* } -%"class.nanojit::Allocator::Chunk" = type { %"class.nanojit::Allocator::Chunk"*, [1 x i64] } -%"class.nanojit::Assembler" = type { %"class.nanojit::Allocator"*, %"class.nanojit::CodeAlloc"*, %"class.nanojit::Allocator"*, %"class.nanojit::Fragment"*, %21, %23, %"class.nanojit::LabelStateMap", %"class.js::GCChunkAllocator"*, %27, %"class.nanojit::CodeList"*, i8, [3 x i8], i8*, i8*, i8*, i8*, i8*, i8*, i8*, i32, %"class.nanojit::LIns"*, %"class.nanojit::AR", %"class.nanojit::RegAlloc", i32, %"struct.nanojit::Config"* } -%"class.nanojit::BitSet" = type { %"class.nanojit::Allocator"*, i32, i64* } -%"class.nanojit::CodeAlloc" = type { %"class.nanojit::CodeList"*, %"class.nanojit::CodeList"*, i32, i32, i32 } -%"class.nanojit::CodeList" = type { %"class.nanojit::CodeList"*, %"class.nanojit::CodeList"*, %"class.nanojit::CodeList"*, i8, i8, %20, [1 x i8] } -%"class.nanojit::CseFilter" = type { [8 x i8], [8 x %"class.nanojit::LIns"**], [8 x i32], [8 x i32], [8 x %struct.JSObjectMap], i8, i8, i8, i8, [34 x %"class.nanojit::LIns"**], [34 x i32], [34 x i32], i32, %"class.nanojit::Allocator"*, %"class.nanojit::HashMap", i8, i8 } -%"class.nanojit::Fragment" = type { %"class.nanojit::LirBuffer"*, %"class.nanojit::LIns"*, i8*, i32, i8*, i8*, i32 } -%"class.nanojit::HashMap" = type { %"class.nanojit::Allocator"*, i32, %"class.nanojit::Seq"** } -%"class.nanojit::LIns" = type { %"class.JSC::MacroAssemblerCodePtr" } -%"class.nanojit::LInsC" = type { %"class.nanojit::LIns"**, %"struct.nanojit::CallInfo"*, %"class.nanojit::LIns" } -%"class.nanojit::LInsI" = type { i32, %"class.nanojit::LIns" } -%"class.nanojit::LInsOp2" = type { %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns" } -%"class.nanojit::LInsOp3" = type { %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns" } -%"class.nanojit::LInsQorD" = type { i32, i32, %"class.nanojit::LIns" } -%"class.nanojit::LInsSt" = type { i16, i8, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns" } -%"class.nanojit::LabelStateMap" = type { %"class.nanojit::Allocator"*, %25 } -%"class.nanojit::LirBuffer" = type { %"class.js::KidsPointer", i32, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, %"class.nanojit::LIns"*, [4 x %"class.nanojit::LIns"*], %"class.nanojit::Allocator"*, i32, i32 } -%"class.nanojit::LirFilter" = type { i32 (...)**, %"class.nanojit::LirFilter"* } -%"class.nanojit::LogControl" = type { i32 (...)**, i32 } -%"class.nanojit::RegAlloc" = type { [17 x %"class.nanojit::LIns"*], [17 x i32], i32, i32, i32 } -%"class.nanojit::Seq" = type opaque -%"class.nanojit::StackFilter" = type { [8 x i8], %"class.nanojit::LIns"*, %"class.nanojit::BitSet", i32 } -%struct.DtoaState = type opaque -%struct.JSArena = type { %struct.JSArena*, i32, i32, i32 } -%struct.JSArenaPool = type { %struct.JSArena, %struct.JSArena*, i32, i32, i32* } -%struct.JSArgumentFormatMap = type { i8*, i32, i32 (%struct.JSContext*, i8*, i32, i64**, i8**)*, %struct.JSArgumentFormatMap* } -%struct.JSAtom = type { [16 x i8] } -%struct.JSAtomMap = type { %struct.JSAtom**, i32 } -%struct.JSAtomState = type { %64, %struct.JSThinLock, %struct.JSAtom*, [2 x %struct.JSAtom*], [8 x %struct.JSAtom*], %struct.JSAtom*, [39 x %struct.JSAtom*], %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %struct.JSAtom*, %66 } -%struct.JSCListStr = type { %struct.JSCListStr*, %struct.JSCListStr* } -%struct.JSCodeSpec = type { i8, i8, i8, i8, i32 } -%struct.JSCompartment = type { %struct.JSRuntime*, %struct.JSPrincipals*, %"struct.js::gc::Chunk"*, [11 x %"struct.js::gc::ArenaList"], %"struct.js::gc::FreeLists", i32, i32, i32, %"struct.js::TraceMonitor", [64 x %struct.JSScript*], i8*, i8, %"class.js::HashMap", %"class.js::mjit::JaegerCompartment"*, %"class.js::PropertyTree", %"struct.js::EmptyShape"*, %"struct.js::EmptyShape"*, %"struct.js::EmptyShape"*, %"struct.js::EmptyShape"*, %"struct.js::EmptyShape"*, %"struct.js::EmptyShape"*, %47, i8, %struct.JSCListStr, %"class.JSC::ExecutableAllocator"*, %"class.js::NativeIterCache", %49, %"class.js::DtoaCache", %"class.js::MathCache"*, i8, %39 } -%struct.JSContext = type { %struct.JSCListStr, i32, i32, i8, i32, %"class.js::Value", i32, %struct.JSLocaleCallbacks*, %struct.JSDHashTable*, i8, i32, i32, %struct.JSRuntime*, %struct.JSCompartment*, %struct.JSFrameRegs*, %struct.JSArenaPool, %struct.JSArenaPool, %struct.JSObject*, %struct.JSSharpObjectMap, %"class.js::HashSet", %struct.JSArgumentFormatMap*, i8*, void (%struct.JSContext*, i8*, %struct.JSErrorReport*)*, i32 (%struct.JSContext*)*, i32, i8*, i8*, %"class.js::StackSegment"*, %struct.JSThread*, i32, %struct.JSCListStr, %"class.js::AutoGCRooter"*, %struct.JSDebugHooks*, %struct.JSSecurityCallbacks*, i32, i64, [4 x i8], %"class.js::Value", i8, i8, i8, %class.DSTOffsetCache, %struct.JSObject*, %"class.js::Vector", %"class.js::GCHelperThread"* } -%struct.JSDHashTable = type { %struct.JSDHashTableOps*, i8*, i16, i8, i8, i32, i32, i32, i32, i8* } -%struct.JSDHashTableOps = type { i8* (%struct.JSDHashTable*, i32)*, void (%struct.JSDHashTable*, i8*)*, i32 (%struct.JSDHashTable*, i8*)*, i32 (%struct.JSDHashTable*, %"class.js::KidsPointer"*, i8*)*, void (%struct.JSDHashTable*, %"class.js::KidsPointer"*, %"class.js::KidsPointer"*)*, void (%struct.JSDHashTable*, %"class.js::KidsPointer"*)*, void (%struct.JSDHashTable*)*, i32 (%struct.JSDHashTable*, %"class.js::KidsPointer"*, i8*)* } -%struct.JSDebugHooks = type { i32 (%struct.JSContext*, %struct.JSScript*, i8*, i64*, i8*)*, i8*, void (%struct.JSContext*, i8*, i32, %struct.JSScript*, %struct.JSFunction*, i8*)*, i8*, void (%struct.JSContext*, %struct.JSScript*, i8*)*, i8*, i32 (%struct.JSContext*, %struct.JSScript*, i8*, i64*, i8*)*, i8*, void (i8*, i32, i16*, i32, i8**, i8*)*, i8*, i8* (%struct.JSContext*, %struct.JSStackFrame*, i32, i32*, i8*)*, i8*, i8* (%struct.JSContext*, %struct.JSStackFrame*, i32, i32*, i8*)*, i8*, i32 (%struct.JSContext*, %struct.JSScript*, i8*, i64*, i8*)*, i8*, i32 (%struct.JSContext*, i8*, %struct.JSErrorReport*, i8*)*, i8* } -%struct.JSErrorFormatString = type { i8*, i16, i16 } -%struct.JSErrorReport = type { i8*, i32, i8*, i8*, i16*, i16*, i32, i32, i16*, i16** } -%struct.JSFatLock = type opaque -%struct.JSFrameRegs = type { %"class.js::Value"*, i8*, %struct.JSStackFrame* } -%struct.JSFunction = type { [56 x i8], i16, i16, %"union.JSFunction::U", %struct.JSAtom*, [4 x i8] } -%struct.JSGSNCache = type { i8*, %struct.JSDHashTable } -%struct.JSGenerator = type { %struct.JSObject*, i32, %struct.JSFrameRegs, %struct.JSObject*, %struct.JSStackFrame*, [4 x i8], [1 x %"class.js::Value"] } -%struct.JSHashAllocOps = type { i8* (i8*, i32)*, void (i8*, i8*, i32)*, %struct.JSHashEntry* (i8*, i8*)*, void (i8*, %struct.JSHashEntry*, i32)* } -%struct.JSHashEntry = type { %struct.JSHashEntry*, i32, i8*, i8* } -%struct.JSHashTable = type { %struct.JSHashEntry**, i32, i32, i32 (i8*)*, i32 (i8*, i8*)*, i32 (i8*, i8*)*, %struct.JSHashAllocOps*, i8* } -%struct.JSLocaleCallbacks = type { i32 (%struct.JSContext*, %struct.JSString*, i64*)*, i32 (%struct.JSContext*, %struct.JSString*, i64*)*, i32 (%struct.JSContext*, %struct.JSString*, %struct.JSString*, i64*)*, i32 (%struct.JSContext*, i8*, i64*)*, %struct.JSErrorFormatString* (i8*, i8*, i32)* } -%struct.JSNativeTraceInfo = type { i32 (%struct.JSContext*, i32, %"class.js::Value"*)*, %struct.JSSpecializedNative* } -%struct.JSObject = type { %11, %"struct.js::Class"*, i32, i32, %"struct.js::EmptyShape"**, %struct.JSObject*, %struct.JSObject*, i8*, i32, %"class.js::Value"* } -%struct.JSObjectMap = type { i32, i32 } -%struct.JSPendingProxyOperation = type { %struct.JSPendingProxyOperation*, %struct.JSObject* } -%struct.JSPrincipals = type { i8*, i8* (%struct.JSContext*, %struct.JSPrincipals*)*, i32 (%struct.JSContext*, %struct.JSPrincipals*)*, i32, void (%struct.JSContext*, %struct.JSPrincipals*)*, i32 (%struct.JSPrincipals*, %struct.JSPrincipals*)* } -%struct.JSProperty = type opaque -%struct.JSRuntime = type { %struct.JSCompartment*, i8, %51, i32, i32 (%struct.JSContext*, i32)*, i32 (%struct.JSContext*, %struct.JSCompartment*, i32)*, void (i8*, i32)*, i8*, i32, %52, %54, %56, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"struct.js::GCMarker"*, i32, i64, i32, i8, %struct.JSCompartment*, %struct.JSCompartment*, i8, i8, i8, i8, i32 (%struct.JSContext*, i32)*, i32, %"class.js::GCChunkAllocator"*, void (%struct.JSTracer*, i8*)*, i8*, %"class.js::Value", %"class.js::Value", %"class.js::Value", %struct.JSAtom*, %struct.JSCListStr, %struct.JSDebugHooks, i32, %struct.JSCListStr, %struct.JSCListStr, i8*, %struct.PRLock*, %struct.PRCondVar*, %struct.PRCondVar*, i32, %struct.JSThread*, %"class.js::GCHelperThread", %struct.PRLock*, %struct.PRCondVar*, %struct.PRLock*, %62, i32, %struct.JSSecurityCallbacks*, %struct.JSStructuredCloneCallbacks*, i32, %struct.JSHashTable*, %struct.JSCListStr, %struct.PRLock*, i8*, i8*, i8*, %struct.JSObject*, %struct.JSObject*, i32, i32, %struct.JSAtomState, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*, %struct.JSObject*, %struct.JSObject*, i32)*, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*, %struct.JSObject*, i32)*, i32, i32, [4 x i8] } -%struct.JSScript = type { %struct.JSCListStr, i8*, i32, i16, i32, i16, i8, i8, i8, i8, i8, i8, i8, i8, i8*, %struct.JSAtomMap, %struct.JSCompartment*, i8*, i32, i16, i16, i16, i16, %"class.js::Bindings", %struct.JSPrincipals*, %15, i32*, i8*, i8*, %"struct.js::mjit::JITScript"*, %"struct.js::mjit::JITScript"* } -%struct.JSSecurityCallbacks = type { i32 (%struct.JSContext*, %struct.JSObject*, i32, i32, i64*)*, i32 (%struct.JSXDRState*, %struct.JSPrincipals**)*, %struct.JSPrincipals* (%struct.JSContext*, %struct.JSObject*)*, i32 (%struct.JSContext*)* } -%struct.JSSharpObjectMap = type { i32, i32, %struct.JSHashTable* } -%struct.JSSpecializedNative = type { %"struct.nanojit::CallInfo"*, i8*, i8*, i32 } -%struct.JSStackFrame = type { i32, %37, %"class.js::KidsPointer", %struct.JSObject*, %struct.JSStackFrame*, i8*, %"class.js::Value", i8*, i8*, i8*, i8* } -%struct.JSString = type { i32, %3, %4 } -%struct.JSStructuredCloneCallbacks = type { %struct.JSObject* (%struct.JSContext*, %struct.JSStructuredCloneReader*, i32, i32, i8*)*, i32 (%struct.JSContext*, %struct.JSStructuredCloneWriter*, %struct.JSObject*, i8*)*, void (%struct.JSContext*, i32)* } -%struct.JSStructuredCloneReader = type opaque -%struct.JSStructuredCloneWriter = type opaque -%struct.JSThinLock = type { i32, %struct.JSFatLock* } -%struct.JSThread = type { %struct.JSCListStr, i8*, i32, %struct.JSThreadData } -%struct.JSThreadData = type { i32, %struct.JSCompartment*, %struct.JSCompartment*, %struct.JSCompartment*, i32, %"class.js::StackSpace", i8, %struct.JSGSNCache, %"class.js::PropertyCache", i32, %struct.DtoaState*, i32*, %struct.JSPendingProxyOperation*, %"struct.js::ConservativeGCThreadData" } -%struct.JSTracer = type { %struct.JSContext*, void (%struct.JSTracer*, i8*, i32)*, void (%struct.JSTracer*, i8*, i32)*, i8*, i32 } -%struct.JSUpvarArray = type { %"class.js::KidsPointer"*, i32 } -%struct.JSXDRState = type opaque -%struct.JSXML = type { %struct.JSObject*, i8*, %struct.JSXML*, %struct.JSObject*, i32, i32, %68 } -%struct.JSXMLArray = type { i32, i32, i8**, %struct.JSXMLArrayCursor* } -%struct.JSXMLArrayCursor = type { %struct.JSXMLArray*, i32, %struct.JSXMLArrayCursor*, %struct.JSXMLArrayCursor**, i8* } -%struct.JSXMLElemVar = type { %struct.JSXMLArray, %struct.JSXMLArray, %struct.JSXMLArray } -%struct.PRCondVar = type opaque -%struct.PRLock = type opaque -%struct.PRThread = type opaque -%struct.anon = type { [36 x i8], [38 x i8] } -%"struct.js::ArgumentsData" = type { %"class.js::Value", [1 x %"class.js::Value"] } -%"struct.js::Class" = type { i8*, i32, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)*, void (%struct.JSContext*, %struct.JSObject*)*, void ()*, i32 (%struct.JSContext*, %struct.JSObject*, i32, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, i32, %"class.js::Value"*)*, i32 (%struct.JSXDRState*, %struct.JSObject**)*, i32 (%struct.JSContext*, %struct.JSObject*, %"class.js::Value"*, i32*)*, i32 (%struct.JSContext*, %struct.JSObject*, i8*)*, %"struct.js::ClassExtension", %"struct.js::ObjectOps", [8 x i8] } -%"struct.js::ClassExtension" = type { i32 (%struct.JSContext*, %struct.JSObject*, %"class.js::Value"*, i32*)*, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*)*, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*)*, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*, i32)*, i8* } -%"struct.js::ConservativeGCThreadData" = type { i32*, %59, i32 } -%"struct.js::CountSlotsVisitor" = type { i32, i8, i8* } -%"struct.js::EmptyShape" = type { [40 x i8] } -%"struct.js::FrameInfo" = type { %struct.JSObject*, i8*, i8*, i32, i32, i32, i32 } -%"struct.js::GCMarker" = type { [20 x i8], i32, i32, %9* } -%"struct.js::GlobalState" = type { %struct.JSObject*, i32, %38* } -%"struct.js::LinkableFragment" = type { [32 x i8], i32, %"class.js::TypeMap", i32, i32, %38* } -%"struct.js::LoopProfile::InnerLoop" = type { %struct.JSStackFrame*, i8*, i8*, i32 } -%"struct.js::LoopProfile::StackValue" = type { i8, i8, i32 } -%"struct.js::MathCache::Entry" = type { double, double (double)*, double } -%"struct.js::ObjectOps" = type { i32 (%struct.JSContext*, %struct.JSObject*, i32, %struct.JSObject**, %struct.JSProperty**)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, i32, %"class.js::Value"*)*, i32)*, i32 (%struct.JSContext*, %struct.JSObject*, %struct.JSObject*, i32, %"class.js::Value"*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*, i32)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, i32*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, i32*)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*, i32)*, i32 (%struct.JSContext*, %struct.JSObject*, i32, %"class.js::Value"*, i32*)*, i32 (%struct.JSContext*, %struct.JSObject*)*, void (%struct.JSTracer*, %struct.JSObject*)*, i32 (%struct.JSContext*, %struct.JSObject*, i8*, %"class.js::AutoIdVector"*)*, %struct.JSObject* (%struct.JSContext*, %struct.JSObject*)*, void (%struct.JSContext*, %struct.JSObject*)* } -%"struct.js::PICTable" = type { [32 x %"struct.js::PICTableEntry"], i32 } -%"struct.js::PICTableEntry" = type { i32, i32, i32 } -%"struct.js::PropertyCacheEntry" = type { i8*, i32, i32, %"class.js::KidsPointer" } -%"struct.js::PropertyTable" = type { i32, i32, i32, i32, %"struct.js::Shape"** } -%"struct.js::Shape" = type { [8 x i8], %"class.js::KidsPointer", i32, %12, %13, i32, i8, i8, i16, %"struct.js::Shape"*, %14 } -%"struct.js::SlotMap::SlotInfo" = type { i8*, i8, i32, i8 } -%"struct.js::TraceMonitor" = type { %struct.JSContext*, %"struct.js::TracerState"*, %"struct.js::VMSideExit"*, i32, %"struct.js::TraceNativeStorage"*, %"class.js::VMAllocator"*, %"class.js::VMAllocator"*, %"class.js::VMAllocator"*, %"class.nanojit::CodeAlloc"*, %"class.nanojit::Assembler"*, %"class.js::FrameInfoCache"*, i32, %"class.js::Oracle"*, %"class.js::TraceRecorder"*, %"class.js::LoopProfile"*, [4 x %"struct.js::GlobalState"], [512 x %"struct.js::TreeFragment"*], %39*, %41*, i32, i32, %"class.js::TypeMap"*, %43 } -%"struct.js::TraceNativeStorage" = type { [8193 x double], [500 x %"struct.js::FrameInfo"*] } -%"struct.js::TraceRecorder::NameResult" = type { i8, [7 x i8], %"class.js::Value", %struct.JSObject*, %"class.nanojit::LIns"*, %"struct.js::Shape"*, [4 x i8] } -%"struct.js::TracerState" = type { %struct.JSContext*, %"struct.js::TraceMonitor"*, double*, double*, double*, %"struct.js::FrameInfo"**, i8*, %"struct.js::FrameInfo"**, i8*, %"struct.js::VMSideExit"*, %"struct.js::VMSideExit"*, i8*, %"struct.js::VMSideExit"*, %"struct.js::TreeFragment"*, i32*, %"struct.js::VMSideExit"**, %"struct.js::VMSideExit"*, i64, %"struct.js::TracerState"*, i32, double*, i32, %"class.js::Value"* } -%"struct.js::Tracker::TrackerPage" = type { %"struct.js::Tracker::TrackerPage"*, i32, [1024 x %"class.nanojit::LIns"*] } -%"struct.js::TreeFragment" = type { [68 x i8], %"struct.js::TreeFragment"*, %"struct.js::TreeFragment"*, %"struct.js::TreeFragment"*, %struct.JSObject*, i32, i32, %"class.js::Queue", %"class.js::Queue", %struct.JSScript*, %"struct.js::UnstableExit"*, %17, i32, i32, %18, %19, i32, i32, i32 } -%"struct.js::TypedArray" = type { %"class.js::HashMap<unsigned char *, unsigned long, js::DefaultHasher<unsigned char *>, js::SystemAllocPolicy>::Entry"*, %struct.JSObject*, i32, i32, i32, i32, i8* } -%"struct.js::UnstableExit" = type { %"class.js::VMFragment"*, %"struct.js::VMSideExit"*, %"struct.js::UnstableExit"* } -%"struct.js::VMAllocator::Mark" = type { %"class.js::VMAllocator"*, i8, %"class.nanojit::Allocator::Chunk"*, i8*, i8*, i32 } -%"struct.js::VMFrame" = type { %"union.js::VMFrame::Arguments", %"struct.js::VMFrame"*, i8*, %struct.JSFrameRegs, %struct.JSContext*, %"class.js::Value"*, %struct.JSStackFrame*, i8*, i8*, i8*, i8*, i8* } -%"struct.js::VMSideExit" = type { [16 x i8], i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32 } -%"struct.js::gc::Arena" = type { %7, %"struct.js::gc::Things" } -%"struct.js::gc::ArenaBitmap" = type { [16 x i32] } -%"struct.js::gc::ArenaHeader" = type { %struct.JSCompartment*, %"struct.js::gc::Arena"*, %"struct.js::gc::FreeCell"*, i32, i8, i32 } -%"struct.js::gc::ArenaList" = type { %"struct.js::gc::Arena"*, %"struct.js::gc::Arena"* } -%"struct.js::gc::Chunk" = type { [251 x %"struct.js::gc::Arena"], [251 x %"struct.js::gc::ArenaBitmap"], [251 x %"struct.js::gc::MarkingDelay"], %"struct.js::gc::ChunkInfo" } -%"struct.js::gc::ChunkInfo" = type { %"struct.js::gc::Chunk"*, %struct.JSRuntime*, %"struct.js::gc::EmptyArenaLists", i32, i32 } -%"struct.js::gc::EmptyArenaLists" = type { %"struct.js::gc::Arena"*, [11 x %"struct.js::gc::Arena"*] } -%"struct.js::gc::FreeCell" = type { %8 } -%"struct.js::gc::FreeLists" = type { [11 x %"struct.js::gc::FreeCell"**] } -%"struct.js::gc::MarkingDelay" = type { %9*, i32, i32 } -%"struct.js::gc::Things" = type { [509 x %"union.js::gc::ThingOrCell"] } -%"struct.js::mjit::JITScript" = type { %"class.JSC::MacroAssemblerCodeRef", i8*, i8*, i8*, [4 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, %16 } -%"struct.js::mjit::Trampolines" = type { void ()*, %"class.JSC::ExecutablePool"* } -%"struct.js::tjit::Address" = type { %"class.nanojit::LIns"*, i32, i32 } -%"struct.nanojit::CallInfo" = type { i32, [4 x i8], i32 } -%"struct.nanojit::Config" = type { i8, i8, i8, i8 } -%"struct.nanojit::GuardRecord" = type { i8*, %"struct.nanojit::GuardRecord"*, %"struct.nanojit::SideExit"* } -%"struct.nanojit::Interval" = type { i64, i64, i8 } -%"struct.nanojit::SideExit" = type { %"struct.nanojit::GuardRecord"*, %"class.nanojit::Fragment"*, %"class.nanojit::Fragment"*, %"struct.nanojit::SwitchInfo"* } -%"struct.nanojit::SwitchInfo" = type { i8**, i32, i32 } -%"union.JSFunction::U" = type { %58 } -%"union.js::AlignedStorage<16>::U" = type { i64, [8 x i8] } -%"union.js::AlignedStorage<1>::U" = type { i64 } -%"union.js::AlignedStorage<256>::U" = type { i64, [248 x i8] } -%"union.js::AlignedStorage<64>::U" = type { i64, [56 x i8] } -%"union.js::VMFrame::Arguments" = type { %46 } -%"union.js::gc::ThingOrCell" = type { %"struct.js::gc::FreeCell" } +%0 = type { i32, i1 } -@_ZN7nanojitL9SavedRegsE = external global i32, align 4 -@_ZN7nanojitL7XmmRegsE = external global i32, align 4 -@_ZN7nanojitL7x87RegsE = external global i32, align 4 -@_ZN7nanojitL6FpRegsE = external global i32, align 4 -@_ZL16equality_imacros = external global %struct.anon, align 1 -@_ZL14binary_imacros = external global %69, align 1 -@_ZL11add_imacros = external global %69, align 1 -@_ZL13unary_imacros = external global %70, align 1 -@_ZL12call_imacros = external global %71, align 1 -@_ZL11new_imacros = external global %71, align 1 -@js_opcode2extra = external global [244 x i8], align 1 -@_ZL15incelem_imacros = external global %72, align 1 -@_ZL15decelem_imacros = external global %72, align 1 -@_ZL16funapply_imacros = external global %73, align 1 -@_ZL15funcall_imacros = external global %74, align 1 -@_ZL15getprop_imacros = external global %75, align 1 -@_ZL16callprop_imacros = external global %76, align 1 -@_ZL19getthisprop_imacros = external global %75, align 1 -@.str = external constant [46 x i8] -@.str6 = external constant [51 x i8] -@_ZL17js_IntToString_ci = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL6s_coreE = external global %"class.avmplus::AvmCore", align 4 -@_ZN2jsL31did_we_check_processor_featuresE.b = external global i1 -@_ZN2js13LogControllerE = external global %"class.nanojit::LogControl", align 8 -@__dso_handle = external global i8* -@.str10 = external constant [48 x i8] -@.str11 = external constant [44 x i8] -@_ZN7avmplus7AvmCore6configE = external global %"struct.nanojit::Config" -@js_CodeSpec = external global [0 x %struct.JSCodeSpec] -@_ZN2jsL16GetClosureVar_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL16GetClosureArg_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_dmod_ci = external global %"struct.nanojit::CallInfo" -@js_UnboxDouble_ci = external global %"struct.nanojit::CallInfo" -@js_UnboxInt32_ci = external global %"struct.nanojit::CallInfo" -@js_StringToNumber_ci = external global %"struct.nanojit::CallInfo" -@js_StringToInt32_ci = external global %"struct.nanojit::CallInfo" -@js_DoubleToInt32_ci = external global %"struct.nanojit::CallInfo" -@js_DoubleToUint32_ci = external global %"struct.nanojit::CallInfo" -@js_NumberToString_ci = external global %"struct.nanojit::CallInfo" -@js_BooleanIntToString_ci = external global %"struct.nanojit::CallInfo" -@js_EqualStringsOnTrace_ci = external global %"struct.nanojit::CallInfo" -@js_NaN = external global double -@js_CompareStringsOnTrace_ci = external global %"struct.nanojit::CallInfo" -@_ZN7nanojit8retTypesE = external constant [0 x i32] -@js_FunctionClass = external global %"struct.js::Class" -@js_ArrayClass = external global %"struct.js::Class" -@js_PutArgumentsOnTrace_ci = external global %"struct.nanojit::CallInfo" -@js_PutCallObjectOnTrace_ci = external global %"struct.nanojit::CallInfo" -@js_CreateCallObjectOnTrace_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL16functionProbe_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_NewArgumentsOnTrace_ci = external global %"struct.nanojit::CallInfo" -@js_ConcatStrings_ci = external global %"struct.nanojit::CallInfo" -@js_String_tn_ci = external global %"struct.nanojit::CallInfo" -@_ZN2js21NewDenseEmptyArray_ciE = external global %"struct.nanojit::CallInfo" -@_ZN2js27NewDenseUnallocatedArray_ciE = external global %"struct.nanojit::CallInfo" -@_ZN2js25NewDenseAllocatedArray_ciE = external global %"struct.nanojit::CallInfo" -@_ZN2jsL19ceilReturningInt_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL20floorReturningInt_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL20roundReturningInt_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_ObjectClass = external global %"struct.js::Class" -@_ZN2jsL15DeleteIntKey_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL15DeleteStrKey_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_TypeOfObject_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL21MethodWriteBarrier_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_AddAtomProperty_ci = external global %"struct.nanojit::CallInfo" -@js_AddProperty_ci = external global %"struct.nanojit::CallInfo" -@js_SetCallArg_ci = external global %"struct.nanojit::CallInfo" -@js_SetCallVar_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL20GetPropertyByName_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL21GetPropertyByIndex_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL18GetPropertyById_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL30GetPropertyWithNativeGetter_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_Flatten_ci = external global %"struct.nanojit::CallInfo" -@_ZN8JSString15unitStringTableE = external global [0 x %struct.JSString] -@_ZN2jsL20SetPropertyByName_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL21InitPropertyByName_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL21SetPropertyByIndex_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL22InitPropertyByIndex_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_TypedArray_uint8_clamp_double_ci = external global %"struct.nanojit::CallInfo" -@js_EnsureDenseArrayCapacity_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL21GetUpvarArgOnTrace_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL21GetUpvarVarOnTrace_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL23GetUpvarStackOnTrace_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_CreateThisFromTrace_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL21funapply_imacro_tableE = external constant [9 x i8*], align 4 -@_ZN2jsL20funcall_imacro_tableE = external constant [9 x i8*], align 4 -@_ZN2jsL20MethodReadBarrier_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_InitializerObject_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL19ObjectToIterator_ciE = external global %"struct.nanojit::CallInfo", align 4 -@_ZN2jsL15IteratorMore_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_IteratorClass = external global %"struct.js::Class" -@_ZN2jsL16CloseIterator_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_HasNamedPropertyInt32_ci = external global %"struct.nanojit::CallInfo" -@js_HasNamedProperty_ci = external global %"struct.nanojit::CallInfo" -@_ZN2jsL21HasInstanceOnTrace_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_NewNullClosure_ci = external global %"struct.nanojit::CallInfo" -@js_CloneFunctionObject_ci = external global %"struct.nanojit::CallInfo" -@js_AllocFlatClosure_ci = external global %"struct.nanojit::CallInfo" -@js_CloneRegExpObject_ci = external global %"struct.nanojit::CallInfo" -@js_ArrayCompPush_tn_ci = external global %"struct.nanojit::CallInfo" -@js_SlowArrayClass = external global %"struct.js::Class" -@_ZN2jsL13js_Unbrand_ciE = external global %"struct.nanojit::CallInfo", align 4 -@js_DateClass = external global %"struct.js::Class" -@js_BooleanClass = external global %"struct.js::Class" -@js_StringClass = external global %"struct.js::Class" -@js_NumberClass = external global %"struct.js::Class" -@js_CallClass = external global %"struct.js::Class" -@js_BlockClass = external global %"struct.js::Class" -@js_DeclEnvClass = external global %"struct.js::Class" -@js_ArgumentsClass = external global %"struct.js::Class" -@js_RegExpClass = external global %"struct.js::Class" -@js_XMLClass = external global %"struct.js::Class" -@_ZN2js20StrictArgumentsClassE = external global %"struct.js::Class" -@_ZN11JSObjectMap15sharedNonNativeE = external global %struct.JSObjectMap -@.str456 = external constant [15 x i8] -@.str457 = external constant [5 x i8] -@.str458 = external constant [2 x i8] -@.str459 = external constant [4 x i8] -@_ZTVN2js14DefaultSlotMapE = external constant [6 x i8*] -@_ZTVN2js7SlotMapE = external constant [6 x i8*] -@_ZN7nanojit8repKindsE = external constant [0 x i8] -@_ZZN2js2gc23GetFinalizableTraceKindEmE3map = external constant [11 x i8], align 1 -@_ZN8JSString18hundredStringTableE = external global [0 x %struct.JSString] -@_ZN8JSString18length2StringTableE = external global [0 x %struct.JSString] -@_ZTVN7nanojit10LogControlE = external constant [4 x i8*] -@llvm.global_ctors = external global [1 x %77] -@.memset_pattern = external constant [2 x i64], align 16 +declare %0 @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone -declare hidden i8* @_Z17 |