| 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/bytecode-array-builder.h" | 5 #include "src/interpreter/bytecode-array-builder.h" |
| 6 #include "src/compiler.h" | 6 #include "src/compiler.h" |
| 7 | 7 |
| 8 namespace v8 { | 8 namespace v8 { |
| 9 namespace internal { | 9 namespace internal { |
| 10 namespace interpreter { | 10 namespace interpreter { |
| (...skipping 1194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1205 stmt->position()); | 1205 stmt->position()); |
| 1206 } | 1206 } |
| 1207 | 1207 |
| 1208 void BytecodeArrayBuilder::SetExpressionPosition(Expression* expr) { | 1208 void BytecodeArrayBuilder::SetExpressionPosition(Expression* expr) { |
| 1209 if (expr->position() == RelocInfo::kNoPosition) return; | 1209 if (expr->position() == RelocInfo::kNoPosition) return; |
| 1210 if (exit_seen_in_block_) return; | 1210 if (exit_seen_in_block_) return; |
| 1211 source_position_table_builder_.AddExpressionPosition(bytecodes_.size(), | 1211 source_position_table_builder_.AddExpressionPosition(bytecodes_.size(), |
| 1212 expr->position()); | 1212 expr->position()); |
| 1213 } | 1213 } |
| 1214 | 1214 |
| 1215 void BytecodeArrayBuilder::SetExpressionAsStatementPosition(Expression* expr) { |
| 1216 if (expr->position() == RelocInfo::kNoPosition) return; |
| 1217 if (exit_seen_in_block_) return; |
| 1218 source_position_table_builder_.AddStatementPosition(bytecodes_.size(), |
| 1219 expr->position()); |
| 1220 } |
| 1221 |
| 1215 bool BytecodeArrayBuilder::TemporaryRegisterIsLive(Register reg) const { | 1222 bool BytecodeArrayBuilder::TemporaryRegisterIsLive(Register reg) const { |
| 1216 return temporary_register_allocator()->RegisterIsLive(reg); | 1223 return temporary_register_allocator()->RegisterIsLive(reg); |
| 1217 } | 1224 } |
| 1218 | 1225 |
| 1219 bool BytecodeArrayBuilder::OperandIsValid(Bytecode bytecode, int operand_index, | 1226 bool BytecodeArrayBuilder::OperandIsValid(Bytecode bytecode, int operand_index, |
| 1220 uint32_t operand_value) const { | 1227 uint32_t operand_value) const { |
| 1221 OperandType operand_type = Bytecodes::GetOperandType(bytecode, operand_index); | 1228 OperandType operand_type = Bytecodes::GetOperandType(bytecode, operand_index); |
| 1222 switch (operand_type) { | 1229 switch (operand_type) { |
| 1223 case OperandType::kNone: | 1230 case OperandType::kNone: |
| 1224 return false; | 1231 return false; |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1638 } | 1645 } |
| 1639 | 1646 |
| 1640 // static | 1647 // static |
| 1641 bool BytecodeArrayBuilder::FitsInReg16OperandUntranslated(Register value) { | 1648 bool BytecodeArrayBuilder::FitsInReg16OperandUntranslated(Register value) { |
| 1642 return value.is_short_operand(); | 1649 return value.is_short_operand(); |
| 1643 } | 1650 } |
| 1644 | 1651 |
| 1645 } // namespace interpreter | 1652 } // namespace interpreter |
| 1646 } // namespace internal | 1653 } // namespace internal |
| 1647 } // namespace v8 | 1654 } // namespace v8 |
| OLD | NEW |