Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: src/interpreter/interpreter-assembler.cc

Issue 2600183004: [turbofan] Remove virtual methods from CodeAssembler. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/interpreter/interpreter-assembler.h" 5 #include "src/interpreter/interpreter-assembler.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <ostream> 8 #include <ostream>
9 9
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 24 matching lines...) Expand all
35 accumulator_use_(AccumulatorUse::kNone), 35 accumulator_use_(AccumulatorUse::kNone),
36 made_call_(false), 36 made_call_(false),
37 disable_stack_check_across_call_(false), 37 disable_stack_check_across_call_(false),
38 stack_pointer_before_call_(nullptr) { 38 stack_pointer_before_call_(nullptr) {
39 accumulator_.Bind(Parameter(InterpreterDispatchDescriptor::kAccumulator)); 39 accumulator_.Bind(Parameter(InterpreterDispatchDescriptor::kAccumulator));
40 bytecode_offset_.Bind( 40 bytecode_offset_.Bind(
41 Parameter(InterpreterDispatchDescriptor::kBytecodeOffset)); 41 Parameter(InterpreterDispatchDescriptor::kBytecodeOffset));
42 if (FLAG_trace_ignition) { 42 if (FLAG_trace_ignition) {
43 TraceBytecode(Runtime::kInterpreterTraceBytecodeEntry); 43 TraceBytecode(Runtime::kInterpreterTraceBytecodeEntry);
44 } 44 }
45 RegisterCallGenerationCallbacks([this] { CallPrologue(); },
46 [this] { CallEpilogue(); });
45 } 47 }
46 48
47 InterpreterAssembler::~InterpreterAssembler() { 49 InterpreterAssembler::~InterpreterAssembler() {
48 // If the following check fails the handler does not use the 50 // If the following check fails the handler does not use the
49 // accumulator in the way described in the bytecode definitions in 51 // accumulator in the way described in the bytecode definitions in
50 // bytecodes.h. 52 // bytecodes.h.
51 DCHECK_EQ(accumulator_use_, Bytecodes::GetAccumulatorUse(bytecode_)); 53 DCHECK_EQ(accumulator_use_, Bytecodes::GetAccumulatorUse(bytecode_));
54 UnregisterCallGenerationCallbacks();
52 } 55 }
53 56
54 Node* InterpreterAssembler::GetInterpretedFramePointer() { 57 Node* InterpreterAssembler::GetInterpretedFramePointer() {
55 if (!interpreted_frame_pointer_.IsBound()) { 58 if (!interpreted_frame_pointer_.IsBound()) {
56 interpreted_frame_pointer_.Bind(LoadParentFramePointer()); 59 interpreted_frame_pointer_.Bind(LoadParentFramePointer());
57 } 60 }
58 return interpreted_frame_pointer_.value(); 61 return interpreted_frame_pointer_.value();
59 } 62 }
60 63
61 Node* InterpreterAssembler::GetAccumulatorUnchecked() { 64 Node* InterpreterAssembler::GetAccumulatorUnchecked() {
(...skipping 1239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 Goto(&loop); 1304 Goto(&loop);
1302 } 1305 }
1303 Bind(&done_loop); 1306 Bind(&done_loop);
1304 1307
1305 return array; 1308 return array;
1306 } 1309 }
1307 1310
1308 } // namespace interpreter 1311 } // namespace interpreter
1309 } // namespace internal 1312 } // namespace internal
1310 } // namespace v8 1313 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698