| 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 2370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2381 elements = UseRegister(instr->elements()); | 2381 elements = UseRegister(instr->elements()); |
| 2382 val = UseRegister(instr->value()); | 2382 val = UseRegister(instr->value()); |
| 2383 temp = instr->key()->IsConstant() ? NULL : TempRegister(); | 2383 temp = instr->key()->IsConstant() ? NULL : TempRegister(); |
| 2384 } | 2384 } |
| 2385 | 2385 |
| 2386 if (instr->is_typed_elements()) { | 2386 if (instr->is_typed_elements()) { |
| 2387 DCHECK((instr->value()->representation().IsInteger32() && | 2387 DCHECK((instr->value()->representation().IsInteger32() && |
| 2388 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || | 2388 !IsDoubleOrFloatElementsKind(instr->elements_kind())) || |
| 2389 (instr->value()->representation().IsDouble() && | 2389 (instr->value()->representation().IsDouble() && |
| 2390 IsDoubleOrFloatElementsKind(instr->elements_kind()))); | 2390 IsDoubleOrFloatElementsKind(instr->elements_kind()))); |
| 2391 DCHECK((instr->is_fixed_typed_array() && | 2391 DCHECK(instr->elements()->representation().IsExternal()); |
| 2392 instr->elements()->representation().IsTagged()) || | |
| 2393 (instr->is_external() && | |
| 2394 instr->elements()->representation().IsExternal())); | |
| 2395 return new(zone()) LStoreKeyedExternal(elements, key, val, temp); | 2392 return new(zone()) LStoreKeyedExternal(elements, key, val, temp); |
| 2396 | 2393 |
| 2397 } else if (instr->value()->representation().IsDouble()) { | 2394 } else if (instr->value()->representation().IsDouble()) { |
| 2398 DCHECK(instr->elements()->representation().IsTagged()); | 2395 DCHECK(instr->elements()->representation().IsTagged()); |
| 2399 return new(zone()) LStoreKeyedFixedDouble(elements, key, val, temp); | 2396 return new(zone()) LStoreKeyedFixedDouble(elements, key, val, temp); |
| 2400 | 2397 |
| 2401 } else { | 2398 } else { |
| 2402 DCHECK(instr->elements()->representation().IsTagged()); | 2399 DCHECK(instr->elements()->representation().IsTagged()); |
| 2403 DCHECK(instr->value()->representation().IsSmiOrTagged() || | 2400 DCHECK(instr->value()->representation().IsSmiOrTagged() || |
| 2404 instr->value()->representation().IsInteger32()); | 2401 instr->value()->representation().IsInteger32()); |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2818 LOperand* context = UseFixed(instr->context(), cp); | 2815 LOperand* context = UseFixed(instr->context(), cp); |
| 2819 LOperand* function = UseRegisterAtStart(instr->function()); | 2816 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2820 LAllocateBlockContext* result = | 2817 LAllocateBlockContext* result = |
| 2821 new(zone()) LAllocateBlockContext(context, function); | 2818 new(zone()) LAllocateBlockContext(context, function); |
| 2822 return MarkAsCall(DefineFixed(result, cp), instr); | 2819 return MarkAsCall(DefineFixed(result, cp), instr); |
| 2823 } | 2820 } |
| 2824 | 2821 |
| 2825 | 2822 |
| 2826 } // namespace internal | 2823 } // namespace internal |
| 2827 } // namespace v8 | 2824 } // namespace v8 |
| OLD | NEW |