| Index: src/a64/simulator-a64.cc
|
| diff --git a/src/a64/simulator-a64.cc b/src/a64/simulator-a64.cc
|
| index 014b71477def993b76a8d1c6d953b8c0b67403fe..f33769079d66185c37aa2c41f55dfd94a2f7cca9 100644
|
| --- a/src/a64/simulator-a64.cc
|
| +++ b/src/a64/simulator-a64.cc
|
| @@ -34,6 +34,7 @@
|
|
|
| #include "disasm.h"
|
| #include "assembler.h"
|
| +#include "a64/decoder-a64-inl.h"
|
| #include "a64/simulator-a64.h"
|
| #include "macro-assembler.h"
|
|
|
| @@ -105,7 +106,7 @@ Simulator* Simulator::current(Isolate* isolate) {
|
| Simulator* sim = isolate_data->simulator();
|
| if (sim == NULL) {
|
| // TODO(146): delete the simulator object when a thread/isolate goes away.
|
| - sim = new Simulator(new Decoder(), isolate);
|
| + sim = new Simulator(new Decoder<DispatchingDecoderVisitor>(), isolate);
|
| isolate_data->set_simulator(sim);
|
| }
|
| return sim;
|
| @@ -333,8 +334,11 @@ uintptr_t Simulator::StackLimit() const {
|
| }
|
|
|
|
|
| -Simulator::Simulator(Decoder* decoder, Isolate* isolate, FILE* stream)
|
| - : decoder_(decoder), last_debugger_input_(NULL), log_parameters_(NO_PARAM),
|
| +Simulator::Simulator(Decoder<DispatchingDecoderVisitor>* decoder,
|
| + Isolate* isolate, FILE* stream)
|
| + : decoder_(decoder),
|
| + last_debugger_input_(NULL),
|
| + log_parameters_(NO_PARAM),
|
| isolate_(isolate) {
|
| // Setup the decoder.
|
| decoder_->AppendVisitor(this);
|
| @@ -359,7 +363,7 @@ Simulator::Simulator(Decoder* decoder, Isolate* isolate, FILE* stream)
|
|
|
| // The debugger needs to disassemble code without the simulator executing an
|
| // instruction, so we create a dedicated decoder.
|
| - disassembler_decoder_ = new Decoder();
|
| + disassembler_decoder_ = new Decoder<DispatchingDecoderVisitor>();
|
| disassembler_decoder_->AppendVisitor(print_disasm_);
|
|
|
| if (FLAG_log_instruction_stats) {
|
|
|