Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 931424ee055c4997c934c2d4c054fca49cc172c9..0c36934b5d6af2e853c0db82ec0bfbe2a1fac0da 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1844,8 +1844,11 @@ LInstruction* LChunkBuilder::DoLoadKeyedSpecializedArrayElement( |
HLoadKeyedSpecializedArrayElement* instr) { |
ExternalArrayType array_type = instr->array_type(); |
Representation representation(instr->representation()); |
- ASSERT((representation.IsInteger32() && array_type != kExternalFloatArray) || |
- (representation.IsDouble() && array_type == kExternalFloatArray)); |
+ ASSERT( |
+ (representation.IsInteger32() && (array_type != kExternalFloatArray && |
+ array_type != kExternalDoubleArray)) || |
+ (representation.IsDouble() && (array_type == kExternalFloatArray || |
+ array_type == kExternalDoubleArray))); |
ASSERT(instr->key()->representation().IsInteger32()); |
LOperand* external_pointer = UseRegister(instr->external_pointer()); |
LOperand* key = UseRegister(instr->key()); |
@@ -1891,8 +1894,11 @@ LInstruction* LChunkBuilder::DoStoreKeyedSpecializedArrayElement( |
HStoreKeyedSpecializedArrayElement* instr) { |
Representation representation(instr->value()->representation()); |
ExternalArrayType array_type = instr->array_type(); |
- ASSERT((representation.IsInteger32() && array_type != kExternalFloatArray) || |
- (representation.IsDouble() && array_type == kExternalFloatArray)); |
+ ASSERT( |
+ (representation.IsInteger32() && (array_type != kExternalFloatArray && |
+ array_type != kExternalDoubleArray)) || |
+ (representation.IsDouble() && (array_type == kExternalFloatArray || |
+ array_type == kExternalDoubleArray))); |
ASSERT(instr->external_pointer()->representation().IsExternal()); |
ASSERT(instr->key()->representation().IsInteger32()); |