OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #if V8_TARGET_ARCH_MIPS | 9 #if V8_TARGET_ARCH_MIPS |
10 | 10 |
(...skipping 2259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2270 } | 2270 } |
2271 | 2271 |
2272 return new(zone()) LStoreKeyed(object, key, val); | 2272 return new(zone()) LStoreKeyed(object, key, val); |
2273 } | 2273 } |
2274 | 2274 |
2275 DCHECK( | 2275 DCHECK( |
2276 (instr->value()->representation().IsInteger32() && | 2276 (instr->value()->representation().IsInteger32() && |
2277 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || | 2277 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || |
2278 (instr->value()->representation().IsDouble() && | 2278 (instr->value()->representation().IsDouble() && |
2279 IsDoubleOrFloatElementsKind(instr->elements_kind()))); | 2279 IsDoubleOrFloatElementsKind(instr->elements_kind()))); |
2280 DCHECK((instr->is_fixed_typed_array() && | 2280 DCHECK(instr->elements()->representation().IsExternal()); |
2281 instr->elements()->representation().IsTagged()) || | |
2282 (instr->is_external() && | |
2283 instr->elements()->representation().IsExternal())); | |
2284 LOperand* val = UseRegister(instr->value()); | 2281 LOperand* val = UseRegister(instr->value()); |
2285 LOperand* key = UseRegisterOrConstantAtStart(instr->key()); | 2282 LOperand* key = UseRegisterOrConstantAtStart(instr->key()); |
2286 LOperand* backing_store = UseRegister(instr->elements()); | 2283 LOperand* backing_store = UseRegister(instr->elements()); |
2287 return new(zone()) LStoreKeyed(backing_store, key, val); | 2284 return new(zone()) LStoreKeyed(backing_store, key, val); |
2288 } | 2285 } |
2289 | 2286 |
2290 | 2287 |
2291 LInstruction* LChunkBuilder::DoStoreKeyedGeneric(HStoreKeyedGeneric* instr) { | 2288 LInstruction* LChunkBuilder::DoStoreKeyedGeneric(HStoreKeyedGeneric* instr) { |
2292 LOperand* context = UseFixed(instr->context(), cp); | 2289 LOperand* context = UseFixed(instr->context(), cp); |
2293 LOperand* obj = | 2290 LOperand* obj = |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2675 LOperand* function = UseRegisterAtStart(instr->function()); | 2672 LOperand* function = UseRegisterAtStart(instr->function()); |
2676 LAllocateBlockContext* result = | 2673 LAllocateBlockContext* result = |
2677 new(zone()) LAllocateBlockContext(context, function); | 2674 new(zone()) LAllocateBlockContext(context, function); |
2678 return MarkAsCall(DefineFixed(result, cp), instr); | 2675 return MarkAsCall(DefineFixed(result, cp), instr); |
2679 } | 2676 } |
2680 | 2677 |
2681 } // namespace internal | 2678 } // namespace internal |
2682 } // namespace v8 | 2679 } // namespace v8 |
2683 | 2680 |
2684 #endif // V8_TARGET_ARCH_MIPS | 2681 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |