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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 BytecodeArrayBuilder& LogicalNot(); | 204 BytecodeArrayBuilder& LogicalNot(); |
205 BytecodeArrayBuilder& TypeOf(); | 205 BytecodeArrayBuilder& TypeOf(); |
206 | 206 |
207 // Deletes property from an object. This expects that accumulator contains | 207 // Deletes property from an object. This expects that accumulator contains |
208 // the key to be deleted and the register contains a reference to the object. | 208 // the key to be deleted and the register contains a reference to the object. |
209 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); | 209 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); |
210 | 210 |
211 // Tests. | 211 // Tests. |
212 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg); | 212 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg); |
213 | 213 |
214 // Casts. | 214 // Casts accumulator and stores result in accumulator. |
215 BytecodeArrayBuilder& CastAccumulatorToBoolean(); | 215 BytecodeArrayBuilder& CastAccumulatorToBoolean(); |
216 BytecodeArrayBuilder& CastAccumulatorToJSObject(); | 216 BytecodeArrayBuilder& CastAccumulatorToJSObject(); |
217 BytecodeArrayBuilder& CastAccumulatorToName(); | 217 |
218 // Does not update the accumulator but stores to |out| instead. | 218 // Casts accumulator and stores result in register |out|. |
| 219 BytecodeArrayBuilder& CastAccumulatorToName(Register out); |
219 BytecodeArrayBuilder& CastAccumulatorToNumber(Register out); | 220 BytecodeArrayBuilder& CastAccumulatorToNumber(Register out); |
220 | 221 |
221 // Flow Control. | 222 // Flow Control. |
222 BytecodeArrayBuilder& Bind(BytecodeLabel* label); | 223 BytecodeArrayBuilder& Bind(BytecodeLabel* label); |
223 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); | 224 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); |
224 | 225 |
225 BytecodeArrayBuilder& Jump(BytecodeLabel* label); | 226 BytecodeArrayBuilder& Jump(BytecodeLabel* label); |
226 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); | 227 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); |
227 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); | 228 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); |
228 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); | 229 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 BytecodeSourceInfo latest_source_info_; | 374 BytecodeSourceInfo latest_source_info_; |
374 | 375 |
375 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 376 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
376 }; | 377 }; |
377 | 378 |
378 } // namespace interpreter | 379 } // namespace interpreter |
379 } // namespace internal | 380 } // namespace internal |
380 } // namespace v8 | 381 } // namespace v8 |
381 | 382 |
382 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 383 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |