| 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_ARRAY_BUILDER_H_ | 5 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
| 6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "src/ast/ast.h" | 10 #include "src/ast/ast.h" |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 LanguageMode language_mode); | 110 LanguageMode language_mode); |
| 111 | 111 |
| 112 // Store properties. The value to be stored should be in the accumulator. | 112 // Store properties. The value to be stored should be in the accumulator. |
| 113 BytecodeArrayBuilder& StoreNamedProperty(Register object, size_t name_index, | 113 BytecodeArrayBuilder& StoreNamedProperty(Register object, size_t name_index, |
| 114 int feedback_slot, | 114 int feedback_slot, |
| 115 LanguageMode language_mode); | 115 LanguageMode language_mode); |
| 116 BytecodeArrayBuilder& StoreKeyedProperty(Register object, Register key, | 116 BytecodeArrayBuilder& StoreKeyedProperty(Register object, Register key, |
| 117 int feedback_slot, | 117 int feedback_slot, |
| 118 LanguageMode language_mode); | 118 LanguageMode language_mode); |
| 119 | 119 |
| 120 // Lookup the variable with |name|. |
| 121 BytecodeArrayBuilder& LoadLookupSlot(const Handle<String> name, |
| 122 TypeofMode typeof_mode); |
| 123 |
| 124 // Store value in the accumulator into the variable with |name|. |
| 125 BytecodeArrayBuilder& StoreLookupSlot(const Handle<String> name, |
| 126 LanguageMode language_mode); |
| 127 |
| 120 // Create a new closure for the SharedFunctionInfo. | 128 // Create a new closure for the SharedFunctionInfo. |
| 121 BytecodeArrayBuilder& CreateClosure(Handle<SharedFunctionInfo> shared_info, | 129 BytecodeArrayBuilder& CreateClosure(Handle<SharedFunctionInfo> shared_info, |
| 122 PretenureFlag tenured); | 130 PretenureFlag tenured); |
| 123 | 131 |
| 124 // Create a new arguments object in the accumulator. | 132 // Create a new arguments object in the accumulator. |
| 125 BytecodeArrayBuilder& CreateArguments(CreateArgumentsType type); | 133 BytecodeArrayBuilder& CreateArguments(CreateArgumentsType type); |
| 126 | 134 |
| 127 // Literals creation. Constant elements should be in the accumulator. | 135 // Literals creation. Constant elements should be in the accumulator. |
| 128 BytecodeArrayBuilder& CreateRegExpLiteral(Handle<String> pattern, | 136 BytecodeArrayBuilder& CreateRegExpLiteral(Handle<String> pattern, |
| 129 int literal_index, int flags); | 137 int literal_index, int flags); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 static Bytecode BytecodeForCountOperation(Token::Value op); | 227 static Bytecode BytecodeForCountOperation(Token::Value op); |
| 220 static Bytecode BytecodeForCompareOperation(Token::Value op); | 228 static Bytecode BytecodeForCompareOperation(Token::Value op); |
| 221 static Bytecode BytecodeForWideOperands(Bytecode bytecode); | 229 static Bytecode BytecodeForWideOperands(Bytecode bytecode); |
| 222 static Bytecode BytecodeForLoadIC(LanguageMode language_mode); | 230 static Bytecode BytecodeForLoadIC(LanguageMode language_mode); |
| 223 static Bytecode BytecodeForKeyedLoadIC(LanguageMode language_mode); | 231 static Bytecode BytecodeForKeyedLoadIC(LanguageMode language_mode); |
| 224 static Bytecode BytecodeForStoreIC(LanguageMode language_mode); | 232 static Bytecode BytecodeForStoreIC(LanguageMode language_mode); |
| 225 static Bytecode BytecodeForKeyedStoreIC(LanguageMode language_mode); | 233 static Bytecode BytecodeForKeyedStoreIC(LanguageMode language_mode); |
| 226 static Bytecode BytecodeForLoadGlobal(LanguageMode language_mode, | 234 static Bytecode BytecodeForLoadGlobal(LanguageMode language_mode, |
| 227 TypeofMode typeof_mode); | 235 TypeofMode typeof_mode); |
| 228 static Bytecode BytecodeForStoreGlobal(LanguageMode language_mode); | 236 static Bytecode BytecodeForStoreGlobal(LanguageMode language_mode); |
| 237 static Bytecode BytecodeForStoreLookupSlot(LanguageMode language_mode); |
| 229 static Bytecode BytecodeForCreateArguments(CreateArgumentsType type); | 238 static Bytecode BytecodeForCreateArguments(CreateArgumentsType type); |
| 230 static Bytecode BytecodeForDelete(LanguageMode language_mode); | 239 static Bytecode BytecodeForDelete(LanguageMode language_mode); |
| 231 | 240 |
| 232 static bool FitsInIdx8Operand(int value); | 241 static bool FitsInIdx8Operand(int value); |
| 233 static bool FitsInIdx8Operand(size_t value); | 242 static bool FitsInIdx8Operand(size_t value); |
| 234 static bool FitsInImm8Operand(int value); | 243 static bool FitsInImm8Operand(int value); |
| 235 static bool FitsInIdx16Operand(int value); | 244 static bool FitsInIdx16Operand(int value); |
| 236 static bool FitsInIdx16Operand(size_t value); | 245 static bool FitsInIdx16Operand(size_t value); |
| 237 | 246 |
| 238 static Bytecode GetJumpWithConstantOperand(Bytecode jump_with_smi8_operand); | 247 static Bytecode GetJumpWithConstantOperand(Bytecode jump_with_smi8_operand); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 | 371 |
| 363 DISALLOW_COPY_AND_ASSIGN(TemporaryRegisterScope); | 372 DISALLOW_COPY_AND_ASSIGN(TemporaryRegisterScope); |
| 364 }; | 373 }; |
| 365 | 374 |
| 366 | 375 |
| 367 } // namespace interpreter | 376 } // namespace interpreter |
| 368 } // namespace internal | 377 } // namespace internal |
| 369 } // namespace v8 | 378 } // namespace v8 |
| 370 | 379 |
| 371 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 380 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
| OLD | NEW |