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/base/compiler-specific.h" | 9 #include "src/base/compiler-specific.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 BytecodeArrayBuilder& ConvertAccumulatorToNumber(Register out); | 272 BytecodeArrayBuilder& ConvertAccumulatorToNumber(Register out); |
273 | 273 |
274 // Flow Control. | 274 // Flow Control. |
275 BytecodeArrayBuilder& Bind(BytecodeLabel* label); | 275 BytecodeArrayBuilder& Bind(BytecodeLabel* label); |
276 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); | 276 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); |
277 | 277 |
278 BytecodeArrayBuilder& Jump(BytecodeLabel* label); | 278 BytecodeArrayBuilder& Jump(BytecodeLabel* label); |
279 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); | 279 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); |
280 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); | 280 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); |
281 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); | 281 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); |
| 282 BytecodeArrayBuilder& JumpIfJSReceiver(BytecodeLabel* label); |
282 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); | 283 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); |
283 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label); | 284 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label); |
284 BytecodeArrayBuilder& JumpLoop(BytecodeLabel* label, int loop_depth); | 285 BytecodeArrayBuilder& JumpLoop(BytecodeLabel* label, int loop_depth); |
285 | 286 |
286 BytecodeArrayBuilder& StackCheck(int position); | 287 BytecodeArrayBuilder& StackCheck(int position); |
287 | 288 |
288 // Sets the pending message to the value in the accumulator, and returns the | 289 // Sets the pending message to the value in the accumulator, and returns the |
289 // previous pending message in the accumulator. | 290 // previous pending message in the accumulator. |
290 BytecodeArrayBuilder& SetPendingMessage(); | 291 BytecodeArrayBuilder& SetPendingMessage(); |
291 | 292 |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 static int const kNoFeedbackSlot = 0; | 429 static int const kNoFeedbackSlot = 0; |
429 | 430 |
430 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 431 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
431 }; | 432 }; |
432 | 433 |
433 } // namespace interpreter | 434 } // namespace interpreter |
434 } // namespace internal | 435 } // namespace internal |
435 } // namespace v8 | 436 } // namespace v8 |
436 | 437 |
437 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 438 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |