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 #include "src/interpreter/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1028 Load(MachineType::Uint8(), BytecodeArrayTaggedPointer(), bytecode_offset); | 1028 Load(MachineType::Uint8(), BytecodeArrayTaggedPointer(), bytecode_offset); |
1029 if (kPointerSize == 8) { | 1029 if (kPointerSize == 8) { |
1030 bytecode = ChangeUint32ToUint64(bytecode); | 1030 bytecode = ChangeUint32ToUint64(bytecode); |
1031 } | 1031 } |
1032 return bytecode; | 1032 return bytecode; |
1033 } | 1033 } |
1034 | 1034 |
1035 Node* InterpreterAssembler::StarDispatchLookahead(Node* target_bytecode) { | 1035 Node* InterpreterAssembler::StarDispatchLookahead(Node* target_bytecode) { |
1036 Label do_inline_star(this), done(this); | 1036 Label do_inline_star(this), done(this); |
1037 | 1037 |
1038 Variable var_bytecode(this, MachineRepresentation::kWord8); | 1038 Variable var_bytecode(this, MachineType::PointerRepresentation()); |
1039 var_bytecode.Bind(target_bytecode); | 1039 var_bytecode.Bind(target_bytecode); |
1040 | 1040 |
1041 Node* star_bytecode = IntPtrConstant(static_cast<int>(Bytecode::kStar)); | 1041 Node* star_bytecode = IntPtrConstant(static_cast<int>(Bytecode::kStar)); |
1042 Node* is_star = WordEqual(target_bytecode, star_bytecode); | 1042 Node* is_star = WordEqual(target_bytecode, star_bytecode); |
1043 BranchIf(is_star, &do_inline_star, &done); | 1043 BranchIf(is_star, &do_inline_star, &done); |
1044 | 1044 |
1045 Bind(&do_inline_star); | 1045 Bind(&do_inline_star); |
1046 { | 1046 { |
1047 InlineStar(); | 1047 InlineStar(); |
1048 var_bytecode.Bind(LoadBytecode(BytecodeOffset())); | 1048 var_bytecode.Bind(LoadBytecode(BytecodeOffset())); |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1371 Goto(&loop); | 1371 Goto(&loop); |
1372 } | 1372 } |
1373 Bind(&done_loop); | 1373 Bind(&done_loop); |
1374 | 1374 |
1375 return array; | 1375 return array; |
1376 } | 1376 } |
1377 | 1377 |
1378 } // namespace interpreter | 1378 } // namespace interpreter |
1379 } // namespace internal | 1379 } // namespace internal |
1380 } // namespace v8 | 1380 } // namespace v8 |
OLD | NEW |