Chromium Code Reviews| OLD | NEW | 
|---|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 <sstream> | 5 #include <sstream> | 
| 6 | 6 | 
| 7 #include "src/v8.h" | 7 #include "src/v8.h" | 
| 8 | 8 | 
| 9 #include "src/arm64/lithium-codegen-arm64.h" | 9 #include "src/arm64/lithium-codegen-arm64.h" | 
| 10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" | 
| (...skipping 1706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1717 new(zone()) LLoadKeyedFixedDouble(elements, key, temp); | 1717 new(zone()) LLoadKeyedFixedDouble(elements, key, temp); | 
| 1718 return instr->RequiresHoleCheck() | 1718 return instr->RequiresHoleCheck() | 
| 1719 ? AssignEnvironment(DefineAsRegister(result)) | 1719 ? AssignEnvironment(DefineAsRegister(result)) | 
| 1720 : DefineAsRegister(result); | 1720 : DefineAsRegister(result); | 
| 1721 } else { | 1721 } else { | 
| 1722 DCHECK(instr->representation().IsSmiOrTagged() || | 1722 DCHECK(instr->representation().IsSmiOrTagged() || | 
| 1723 instr->representation().IsInteger32()); | 1723 instr->representation().IsInteger32()); | 
| 1724 LOperand* temp = instr->key()->IsConstant() ? NULL : TempRegister(); | 1724 LOperand* temp = instr->key()->IsConstant() ? NULL : TempRegister(); | 
| 1725 LLoadKeyedFixed* result = | 1725 LLoadKeyedFixed* result = | 
| 1726 new(zone()) LLoadKeyedFixed(elements, key, temp); | 1726 new(zone()) LLoadKeyedFixed(elements, key, temp); | 
| 1727 return instr->RequiresHoleCheck() | 1727 return (instr->RequiresHoleCheck() || | 
| 
 
Jakob Kummerow
2015/04/23 13:40:00
Suggestion: I'd model this after the case below (l
 
mvstanton
2015/04/27 07:57:12
Done, and I made the double case above follow the
 
 | |
| 1728 ? AssignEnvironment(DefineAsRegister(result)) | 1728 (instr->hole_mode() == CONVERT_HOLE_TO_UNDEFINED && | 
| 1729 : DefineAsRegister(result); | 1729 info()->IsStub())) | 
| 1730 ? AssignEnvironment(DefineAsRegister(result)) | |
| 1731 : DefineAsRegister(result); | |
| 1730 } | 1732 } | 
| 1731 } else { | 1733 } else { | 
| 1732 DCHECK((instr->representation().IsInteger32() && | 1734 DCHECK((instr->representation().IsInteger32() && | 
| 1733 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || | 1735 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || | 
| 1734 (instr->representation().IsDouble() && | 1736 (instr->representation().IsDouble() && | 
| 1735 IsDoubleOrFloatElementsKind(instr->elements_kind()))); | 1737 IsDoubleOrFloatElementsKind(instr->elements_kind()))); | 
| 1736 | 1738 | 
| 1737 LOperand* temp = instr->key()->IsConstant() ? NULL : TempRegister(); | 1739 LOperand* temp = instr->key()->IsConstant() ? NULL : TempRegister(); | 
| 1738 LInstruction* result = DefineAsRegister( | 1740 LInstruction* result = DefineAsRegister( | 
| 1739 new(zone()) LLoadKeyedExternal(elements, key, temp)); | 1741 new(zone()) LLoadKeyedExternal(elements, key, temp)); | 
| (...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2749 HAllocateBlockContext* instr) { | 2751 HAllocateBlockContext* instr) { | 
| 2750 LOperand* context = UseFixed(instr->context(), cp); | 2752 LOperand* context = UseFixed(instr->context(), cp); | 
| 2751 LOperand* function = UseRegisterAtStart(instr->function()); | 2753 LOperand* function = UseRegisterAtStart(instr->function()); | 
| 2752 LAllocateBlockContext* result = | 2754 LAllocateBlockContext* result = | 
| 2753 new(zone()) LAllocateBlockContext(context, function); | 2755 new(zone()) LAllocateBlockContext(context, function); | 
| 2754 return MarkAsCall(DefineFixed(result, cp), instr); | 2756 return MarkAsCall(DefineFixed(result, cp), instr); | 
| 2755 } | 2757 } | 
| 2756 | 2758 | 
| 2757 | 2759 | 
| 2758 } } // namespace v8::internal | 2760 } } // namespace v8::internal | 
| OLD | NEW |