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

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

Issue 1703453002: [interpreter, debugger] support debug breaks via bytecode array copy (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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 #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 // Clients of this interface shouldn't depend on lots of interpreter internals. 8 // Clients of this interface shouldn't depend on lots of interpreter internals.
9 // Do not include anything from src/interpreter other than 9 // Do not include anything from src/interpreter other than
10 // src/interpreter/bytecodes.h here! 10 // src/interpreter/bytecodes.h here!
(...skipping 18 matching lines...) Expand all
29 public: 29 public:
30 explicit Interpreter(Isolate* isolate); 30 explicit Interpreter(Isolate* isolate);
31 virtual ~Interpreter() {} 31 virtual ~Interpreter() {}
32 32
33 // Initializes the interpreter dispatch table. 33 // Initializes the interpreter dispatch table.
34 void Initialize(); 34 void Initialize();
35 35
36 // Generate bytecode for |info|. 36 // Generate bytecode for |info|.
37 static bool MakeBytecode(CompilationInfo* info); 37 static bool MakeBytecode(CompilationInfo* info);
38 38
39 Code* GetHandler(Bytecode bytecode);
rmcilroy 2016/02/16 10:46:38 GetBytecodeHandler and add a comment please
Yang 2016/02/19 13:09:18 Done.
40
39 // GC support. 41 // GC support.
40 void IterateDispatchTable(ObjectVisitor* v); 42 void IterateDispatchTable(ObjectVisitor* v);
41 43
42 void TraceCodegen(Handle<Code> code, const char* name); 44 void TraceCodegen(Handle<Code> code, const char* name);
43 45
44 Address dispatch_table_address() { 46 Address dispatch_table_address() {
45 return reinterpret_cast<Address>(&dispatch_table_[0]); 47 return reinterpret_cast<Address>(&dispatch_table_[0]);
46 } 48 }
47 49
48 private: 50 private:
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 InterpreterAssembler* assembler); 111 InterpreterAssembler* assembler);
110 112
111 // Generates code to perform a lookup slot load via |function_id|. 113 // Generates code to perform a lookup slot load via |function_id|.
112 void DoLoadLookupSlot(Runtime::FunctionId function_id, 114 void DoLoadLookupSlot(Runtime::FunctionId function_id,
113 InterpreterAssembler* assembler); 115 InterpreterAssembler* assembler);
114 116
115 // Generates code to perform a lookup slot store depending on |language_mode|. 117 // Generates code to perform a lookup slot store depending on |language_mode|.
116 void DoStoreLookupSlot(LanguageMode language_mode, 118 void DoStoreLookupSlot(LanguageMode language_mode,
117 InterpreterAssembler* assembler); 119 InterpreterAssembler* assembler);
118 120
121 void DoDebugBreak(InterpreterAssembler* assembler);
122
119 bool IsDispatchTableInitialized(); 123 bool IsDispatchTableInitialized();
120 124
121 static const int kDispatchTableSize = static_cast<int>(Bytecode::kLast) + 1; 125 static const int kDispatchTableSize = static_cast<int>(Bytecode::kLast) + 1;
122 126
123 Isolate* isolate_; 127 Isolate* isolate_;
124 Object* dispatch_table_[kDispatchTableSize]; 128 Code* dispatch_table_[kDispatchTableSize];
125 129
126 DISALLOW_COPY_AND_ASSIGN(Interpreter); 130 DISALLOW_COPY_AND_ASSIGN(Interpreter);
127 }; 131 };
128 132
129 } // namespace interpreter 133 } // namespace interpreter
130 } // namespace internal 134 } // namespace internal
131 } // namespace v8 135 } // namespace v8
132 136
133 #endif // V8_INTERPRETER_INTERPRETER_H_ 137 #endif // V8_INTERPRETER_INTERPRETER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698