Chromium Code Reviews

Side by Side Diff: src/interpreter/interpreter.h

Issue 2760233005: [snapshot] Move builtins generation into mksnapshot (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 #ifndef V8_INTERPRETER_INTERPRETER_H_ 5 #ifndef V8_INTERPRETER_INTERPRETER_H_
6 #define V8_INTERPRETER_INTERPRETER_H_ 6 #define V8_INTERPRETER_INTERPRETER_H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 // Clients of this interface shouldn't depend on lots of interpreter internals. 10 // Clients of this interface shouldn't depend on lots of interpreter internals.
(...skipping 63 matching lines...)
74 void InstallBytecodeHandler(Isolate* isolate, Bytecode bytecode, 74 void InstallBytecodeHandler(Isolate* isolate, Bytecode bytecode,
75 OperandScale operand_scale); 75 OperandScale operand_scale);
76 76
77 uintptr_t GetDispatchCounter(Bytecode from, Bytecode to) const; 77 uintptr_t GetDispatchCounter(Bytecode from, Bytecode to) const;
78 78
79 // Get dispatch table index of bytecode. 79 // Get dispatch table index of bytecode.
80 static size_t GetDispatchTableIndex(Bytecode bytecode, 80 static size_t GetDispatchTableIndex(Bytecode bytecode,
81 OperandScale operand_scale); 81 OperandScale operand_scale);
82 82
83 bool IsDispatchTableInitialized(); 83 bool IsDispatchTableInitialized();
84 bool ShouldInitializeDispatchTable();
85 84
86 static const int kNumberOfWideVariants = 3; 85 static const int kNumberOfWideVariants = 3;
87 static const int kDispatchTableSize = kNumberOfWideVariants * (kMaxUInt8 + 1); 86 static const int kDispatchTableSize = kNumberOfWideVariants * (kMaxUInt8 + 1);
88 static const int kNumberOfBytecodes = static_cast<int>(Bytecode::kLast) + 1; 87 static const int kNumberOfBytecodes = static_cast<int>(Bytecode::kLast) + 1;
89 88
90 Isolate* isolate_; 89 Isolate* isolate_;
91 Address dispatch_table_[kDispatchTableSize]; 90 Address dispatch_table_[kDispatchTableSize];
92 std::unique_ptr<uintptr_t[]> bytecode_dispatch_counters_table_; 91 std::unique_ptr<uintptr_t[]> bytecode_dispatch_counters_table_;
93 92
94 DISALLOW_COPY_AND_ASSIGN(Interpreter); 93 DISALLOW_COPY_AND_ASSIGN(Interpreter);
95 }; 94 };
96 95
97 } // namespace interpreter 96 } // namespace interpreter
98 } // namespace internal 97 } // namespace internal
99 } // namespace v8 98 } // namespace v8
100 99
101 #endif // V8_INTERPRETER_INTERPRETER_H_ 100 #endif // V8_INTERPRETER_INTERPRETER_H_
OLDNEW

Powered by Google App Engine