// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #include "vm/globals.h" #if defined(TARGET_ARCH_DBC) #include "vm/compiler/assembler/assembler.h" #include "vm/compiler/backend/flow_graph_compiler.h" #include "vm/compiler/jit/compiler.h" #include "vm/cpu.h" #include "vm/dart_entry.h" #include "vm/heap/heap.h" #include "vm/instructions.h" #include "vm/object_store.h" #include "vm/runtime_entry.h" #include "vm/stack_frame.h" #include "vm/stub_code.h" #include "vm/tags.h" #define __ assembler-> namespace dart { DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects."); DEFINE_FLAG(bool, use_slow_path, false, "Set to true for debugging & verifying the slow paths."); void StubCode::GenerateLazyCompileStub(Assembler* assembler) { __ Compile(); } void StubCode::GenerateCallClosureNoSuchMethodStub(Assembler* assembler) { __ NoSuchMethod(); } // Not executed, but used as a stack marker when calling // DRT_OptimizeInvokedFunction. void StubCode::GenerateOptimizeFunctionStub(Assembler* assembler) { __ Trap(); } // Not executed, but used as a sentinel in Simulator::JumpToFrame. void StubCode::GenerateRunExceptionHandlerStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateDeoptForRewindStub(Assembler* assembler) { __ DeoptRewind(); } // TODO(vegorov) Don't generate this stub. void StubCode::GenerateFixCallersTargetStub(Assembler* assembler) { __ Trap(); } // TODO(vegorov) Don't generate these stubs. void StubCode::GenerateAllocationStubForClass(Assembler* assembler, const Class& cls) { __ Trap(); } // TODO(vegorov) Don't generate this stub. void StubCode::GenerateMegamorphicMissStub(Assembler* assembler) { __ Trap(); } // These deoptimization stubs are only used to populate stack frames // with something meaningful to make sure GC can scan the stack during // the last phase of deoptimization which materializes objects. void StubCode::GenerateDeoptimizeLazyFromReturnStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateDeoptimizeLazyFromThrowStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateDeoptimizeStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateDefaultTypeTestStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateTopTypeTypeTestStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateTypeRefTypeTestStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateUnreachableTypeTestStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateLazySpecializeTypeTestStub(Assembler* assembler) { __ Trap(); } // TODO(kustermann): Don't generate this stub. void StubCode::GenerateSlowTypeTestStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateAsynchronousGapMarkerStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateInterpretCallStub(Assembler* assembler) { __ Trap(); } void StubCode::GenerateInvokeDartCodeFromBytecodeStub(Assembler* assembler) { __ Trap(); } } // namespace dart #endif // defined TARGET_ARCH_DBC