| // Copyright (c) 2022, 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 <setjmp.h> // NOLINT | |
| #include <stdlib.h> | |
| #include "vm/globals.h" | |
| #if defined(TARGET_ARCH_X64) | |
| // Only build the simulator if not compiling for real X64 hardware. | |
| #if defined(DART_INCLUDE_SIMULATOR) | |
| #include "vm/simulator.h" | |
| #include "vm/heap/safepoint.h" | |
| #include "vm/isolate.h" | |
| namespace dart { | |
| // Get the active Simulator for the current thread. | |
| Simulator* Simulator::Current() { | |
| Thread* thread = Thread::Current(); | |
| Simulator* simulator = thread->simulator(); | |
| if (simulator == nullptr) { | |
| NoSafepointScope no_safepoint; | |
| simulator = new Simulator(); | |
| thread->set_simulator(simulator); | |
| } | |
| return simulator; | |
| } | |
| void Simulator::Init() {} | |
| Simulator::Simulator() {} | |
| Simulator::~Simulator() {} | |
| int64_t Simulator::Call(int64_t entry, | |
| int64_t parameter0, | |
| int64_t parameter1, | |
| int64_t parameter2, | |
| int64_t parameter3, | |
| bool fp_return, | |
| bool fp_args) { | |
| UNIMPLEMENTED(); | |
| } | |
| void Simulator::JumpToFrame(uword pc, uword sp, uword fp, Thread* thread) { | |
| UNIMPLEMENTED(); | |
| } | |
| uword Simulator::RedirectExternalReference(uword function, | |
| CallKind call_kind, | |
| int argument_count) { | |
| return 0; | |
| } | |
| uword Simulator::FunctionForRedirect(uword redirect) { | |
| return 0; | |
| } | |
| } // namespace dart | |
| #endif // !defined(DART_INCLUDE_SIMULATOR) | |
| #endif // defined TARGET_ARCH_X64 |