OLD | NEW |
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_BYTECODE_GENERATOR_H_ | 5 #ifndef V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
6 #define V8_INTERPRETER_BYTECODE_GENERATOR_H_ | 6 #define V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
7 | 7 |
8 #include "src/ast.h" | 8 #include "src/ast.h" |
9 #include "src/interpreter/bytecode-array-builder.h" | 9 #include "src/interpreter/bytecode-array-builder.h" |
10 #include "src/interpreter/bytecodes.h" | 10 #include "src/interpreter/bytecodes.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 void VisitSetHomeObject(Register value, Register home_object, | 53 void VisitSetHomeObject(Register value, Register home_object, |
54 ObjectLiteralProperty* property, int slot_number = 0); | 54 ObjectLiteralProperty* property, int slot_number = 0); |
55 void VisitObjectLiteralAccessor(Register home_object, | 55 void VisitObjectLiteralAccessor(Register home_object, |
56 ObjectLiteralProperty* property, | 56 ObjectLiteralProperty* property, |
57 Register value_out); | 57 Register value_out); |
58 | 58 |
59 // Dispatched from VisitUnaryOperation. | 59 // Dispatched from VisitUnaryOperation. |
60 void VisitVoid(UnaryOperation* expr); | 60 void VisitVoid(UnaryOperation* expr); |
61 void VisitTypeOf(UnaryOperation* expr); | 61 void VisitTypeOf(UnaryOperation* expr); |
62 void VisitNot(UnaryOperation* expr); | 62 void VisitNot(UnaryOperation* expr); |
| 63 void VisitDeleteOperation(UnaryOperation* expr); |
| 64 void VisitVariableDelete(VariableProxy* expr); |
63 | 65 |
64 inline BytecodeArrayBuilder* builder() { return &builder_; } | 66 inline BytecodeArrayBuilder* builder() { return &builder_; } |
65 | 67 |
66 inline Isolate* isolate() const { return isolate_; } | 68 inline Isolate* isolate() const { return isolate_; } |
67 inline Zone* zone() const { return zone_; } | 69 inline Zone* zone() const { return zone_; } |
68 | 70 |
69 inline Scope* scope() const { return scope_; } | 71 inline Scope* scope() const { return scope_; } |
70 inline void set_scope(Scope* scope) { scope_ = scope; } | 72 inline void set_scope(Scope* scope) { scope_ = scope; } |
71 inline CompilationInfo* info() const { return info_; } | 73 inline CompilationInfo* info() const { return info_; } |
72 inline void set_info(CompilationInfo* info) { info_ = info; } | 74 inline void set_info(CompilationInfo* info) { info_ = info; } |
(...skipping 20 matching lines...) Expand all Loading... |
93 ZoneVector<Handle<Object>> globals_; | 95 ZoneVector<Handle<Object>> globals_; |
94 ControlScope* execution_control_; | 96 ControlScope* execution_control_; |
95 ContextScope* execution_context_; | 97 ContextScope* execution_context_; |
96 }; | 98 }; |
97 | 99 |
98 } // namespace interpreter | 100 } // namespace interpreter |
99 } // namespace internal | 101 } // namespace internal |
100 } // namespace v8 | 102 } // namespace v8 |
101 | 103 |
102 #endif // V8_INTERPRETER_BYTECODE_GENERATOR_H_ | 104 #endif // V8_INTERPRETER_BYTECODE_GENERATOR_H_ |
OLD | NEW |