| 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 "src/v8.h" |     5 #include "src/v8.h" | 
|     6  |     6  | 
|     7 #if V8_TARGET_ARCH_MIPS64 |     7 #if V8_TARGET_ARCH_MIPS64 | 
|     8  |     8  | 
|     9 #include "src/codegen.h" |     9 #include "src/codegen.h" | 
|    10 #include "src/ic-inl.h" |    10 #include "src/ic-inl.h" | 
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   407         if (it.Done()) { |   407         if (it.Done()) { | 
|   408           __ Branch(miss_label, ne, scratch1, Operand(current)); |   408           __ Branch(miss_label, ne, scratch1, Operand(current)); | 
|   409           break; |   409           break; | 
|   410         } |   410         } | 
|   411         __ Branch(&do_store, eq, scratch1, Operand(current)); |   411         __ Branch(&do_store, eq, scratch1, Operand(current)); | 
|   412       } |   412       } | 
|   413       __ bind(&do_store); |   413       __ bind(&do_store); | 
|   414     } |   414     } | 
|   415   } else if (representation.IsDouble()) { |   415   } else if (representation.IsDouble()) { | 
|   416     Label do_store, heap_number; |   416     Label do_store, heap_number; | 
|   417     __ LoadRoot(scratch3, Heap::kHeapNumberMapRootIndex); |   417     __ LoadRoot(scratch3, Heap::kMutableHeapNumberMapRootIndex); | 
|   418     __ AllocateHeapNumber(storage_reg, scratch1, scratch2, scratch3, slow); |   418     __ AllocateHeapNumber(storage_reg, scratch1, scratch2, scratch3, slow, | 
 |   419                           TAG_RESULT, MUTABLE); | 
|   419  |   420  | 
|   420     __ JumpIfNotSmi(value_reg, &heap_number); |   421     __ JumpIfNotSmi(value_reg, &heap_number); | 
|   421     __ SmiUntag(scratch1, value_reg); |   422     __ SmiUntag(scratch1, value_reg); | 
|   422     __ mtc1(scratch1, f6); |   423     __ mtc1(scratch1, f6); | 
|   423     __ cvt_d_w(f4, f6); |   424     __ cvt_d_w(f4, f6); | 
|   424     __ jmp(&do_store); |   425     __ jmp(&do_store); | 
|   425  |   426  | 
|   426     __ bind(&heap_number); |   427     __ bind(&heap_number); | 
|   427     __ CheckMap(value_reg, scratch1, Heap::kHeapNumberMapRootIndex, |   428     __ CheckMap(value_reg, scratch1, Heap::kHeapNumberMapRootIndex, | 
|   428                 miss_label, DONT_DO_SMI_CHECK); |   429                 miss_label, DONT_DO_SMI_CHECK); | 
| (...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1499  |  1500  | 
|  1500   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |  1501   TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 
|  1501 } |  1502 } | 
|  1502  |  1503  | 
|  1503  |  1504  | 
|  1504 #undef __ |  1505 #undef __ | 
|  1505  |  1506  | 
|  1506 } }  // namespace v8::internal |  1507 } }  // namespace v8::internal | 
|  1507  |  1508  | 
|  1508 #endif  // V8_TARGET_ARCH_MIPS64 |  1509 #endif  // V8_TARGET_ARCH_MIPS64 | 
| OLD | NEW |