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 "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/interpreter/bytecode-array-writer.h" | 9 #include "src/interpreter/bytecode-array-writer.h" |
10 #include "src/interpreter/bytecode-register-allocator.h" | 10 #include "src/interpreter/bytecode-register-allocator.h" |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 BytecodeArrayBuilder& TypeOf(); | 226 BytecodeArrayBuilder& TypeOf(); |
227 | 227 |
228 // Deletes property from an object. This expects that accumulator contains | 228 // Deletes property from an object. This expects that accumulator contains |
229 // the key to be deleted and the register contains a reference to the object. | 229 // the key to be deleted and the register contains a reference to the object. |
230 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); | 230 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); |
231 | 231 |
232 // Tests. | 232 // Tests. |
233 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg, | 233 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg, |
234 int feedback_slot = kNoFeedbackSlot); | 234 int feedback_slot = kNoFeedbackSlot); |
235 | 235 |
236 // Casts accumulator and stores result in accumulator. | 236 // Converts accumulator and stores result in register |out|. |
237 BytecodeArrayBuilder& CastAccumulatorToBoolean(); | 237 BytecodeArrayBuilder& ConvertAccumulatorToObject(Register out); |
238 | 238 BytecodeArrayBuilder& ConvertAccumulatorToName(Register out); |
239 // Casts accumulator and stores result in register |out|. | 239 BytecodeArrayBuilder& ConvertAccumulatorToNumber(Register out); |
240 BytecodeArrayBuilder& CastAccumulatorToJSObject(Register out); | |
241 BytecodeArrayBuilder& CastAccumulatorToName(Register out); | |
242 BytecodeArrayBuilder& CastAccumulatorToNumber(Register out); | |
243 | 240 |
244 // Flow Control. | 241 // Flow Control. |
245 BytecodeArrayBuilder& Bind(BytecodeLabel* label); | 242 BytecodeArrayBuilder& Bind(BytecodeLabel* label); |
246 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); | 243 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); |
247 | 244 |
248 BytecodeArrayBuilder& Jump(BytecodeLabel* label); | 245 BytecodeArrayBuilder& Jump(BytecodeLabel* label); |
249 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); | 246 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); |
250 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); | 247 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); |
251 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); | 248 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); |
252 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); | 249 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 static int const kNoFeedbackSlot = 0; | 401 static int const kNoFeedbackSlot = 0; |
405 | 402 |
406 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 403 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
407 }; | 404 }; |
408 | 405 |
409 } // namespace interpreter | 406 } // namespace interpreter |
410 } // namespace internal | 407 } // namespace internal |
411 } // namespace v8 | 408 } // namespace v8 |
412 | 409 |
413 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 410 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |