| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 1471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1482 ASSERT(has_constant_parameter_count()); | 1482 ASSERT(has_constant_parameter_count()); |
| 1483 return LConstantOperand::cast(parameter_count()); | 1483 return LConstantOperand::cast(parameter_count()); |
| 1484 } | 1484 } |
| 1485 LOperand* parameter_count() { return inputs_[2]; } | 1485 LOperand* parameter_count() { return inputs_[2]; } |
| 1486 | 1486 |
| 1487 DECLARE_CONCRETE_INSTRUCTION(Return, "return") | 1487 DECLARE_CONCRETE_INSTRUCTION(Return, "return") |
| 1488 DECLARE_HYDROGEN_ACCESSOR(Return) | 1488 DECLARE_HYDROGEN_ACCESSOR(Return) |
| 1489 }; | 1489 }; |
| 1490 | 1490 |
| 1491 | 1491 |
| 1492 class LLoadNamedField: public LTemplateInstruction<1, 1, 1> { | 1492 class LLoadNamedField: public LTemplateInstruction<1, 1, 0> { |
| 1493 public: | 1493 public: |
| 1494 explicit LLoadNamedField(LOperand* object, LOperand* temp) { | 1494 explicit LLoadNamedField(LOperand* object) { |
| 1495 inputs_[0] = object; | 1495 inputs_[0] = object; |
| 1496 temps_[0] = temp; | 1496 } |
| 1497 |
| 1498 virtual bool ClobbersDoubleRegisters() const { |
| 1499 return !CpuFeatures::IsSupported(SSE2) && |
| 1500 !hydrogen()->representation().IsDouble(); |
| 1497 } | 1501 } |
| 1498 | 1502 |
| 1499 LOperand* object() { return inputs_[0]; } | 1503 LOperand* object() { return inputs_[0]; } |
| 1500 LOperand* temp() { return temps_[0]; } | |
| 1501 | 1504 |
| 1502 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") | 1505 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") |
| 1503 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) | 1506 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) |
| 1504 }; | 1507 }; |
| 1505 | 1508 |
| 1506 | 1509 |
| 1507 class LLoadNamedFieldPolymorphic: public LTemplateInstruction<1, 2, 0> { | 1510 class LLoadNamedFieldPolymorphic: public LTemplateInstruction<1, 2, 0> { |
| 1508 public: | 1511 public: |
| 1509 LLoadNamedFieldPolymorphic(LOperand* context, LOperand* object) { | 1512 LLoadNamedFieldPolymorphic(LOperand* context, LOperand* object) { |
| 1510 inputs_[0] = context; | 1513 inputs_[0] = context; |
| (...skipping 1468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2979 | 2982 |
| 2980 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2983 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
| 2981 }; | 2984 }; |
| 2982 | 2985 |
| 2983 #undef DECLARE_HYDROGEN_ACCESSOR | 2986 #undef DECLARE_HYDROGEN_ACCESSOR |
| 2984 #undef DECLARE_CONCRETE_INSTRUCTION | 2987 #undef DECLARE_CONCRETE_INSTRUCTION |
| 2985 | 2988 |
| 2986 } } // namespace v8::internal | 2989 } } // namespace v8::internal |
| 2987 | 2990 |
| 2988 #endif // V8_IA32_LITHIUM_IA32_H_ | 2991 #endif // V8_IA32_LITHIUM_IA32_H_ |
| OLD | NEW |