| 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 | 5 | 
| 6 #include "src/v8.h" | 6 #include "src/v8.h" | 
| 7 | 7 | 
| 8 #if V8_TARGET_ARCH_MIPS64 | 8 #if V8_TARGET_ARCH_MIPS64 | 
| 9 | 9 | 
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" | 
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 669   __ lw(scratch_value, MemOperand(address)); | 669   __ lw(scratch_value, MemOperand(address)); | 
| 670   __ Branch(&fast_double_without_map_check, ne, scratch_value, | 670   __ Branch(&fast_double_without_map_check, ne, scratch_value, | 
| 671             Operand(kHoleNanUpper32)); | 671             Operand(kHoleNanUpper32)); | 
| 672   __ JumpIfDictionaryInPrototypeChain(receiver, elements_map, scratch_value, | 672   __ JumpIfDictionaryInPrototypeChain(receiver, elements_map, scratch_value, | 
| 673                                       slow); | 673                                       slow); | 
| 674 | 674 | 
| 675   __ bind(&fast_double_without_map_check); | 675   __ bind(&fast_double_without_map_check); | 
| 676   __ StoreNumberToDoubleElements(value, key, | 676   __ StoreNumberToDoubleElements(value, key, | 
| 677                                  elements,  // Overwritten. | 677                                  elements,  // Overwritten. | 
| 678                                  a3,        // Scratch regs... | 678                                  a3,        // Scratch regs... | 
| 679                                  a4, a5, &transition_double_elements); | 679                                  a4, &transition_double_elements); | 
| 680   if (increment_length == kIncrementLength) { | 680   if (increment_length == kIncrementLength) { | 
| 681     // Add 1 to receiver->length. | 681     // Add 1 to receiver->length. | 
| 682     __ Daddu(scratch_value, key, Operand(Smi::FromInt(1))); | 682     __ Daddu(scratch_value, key, Operand(Smi::FromInt(1))); | 
| 683     __ sd(scratch_value, FieldMemOperand(receiver, JSArray::kLengthOffset)); | 683     __ sd(scratch_value, FieldMemOperand(receiver, JSArray::kLengthOffset)); | 
| 684   } | 684   } | 
| 685   __ Ret(); | 685   __ Ret(); | 
| 686 | 686 | 
| 687   __ bind(&transition_smi_elements); | 687   __ bind(&transition_smi_elements); | 
| 688   // Transition the array appropriately depending on the value type. | 688   // Transition the array appropriately depending on the value type. | 
| 689   __ ld(a4, FieldMemOperand(value, HeapObject::kMapOffset)); | 689   __ ld(a4, FieldMemOperand(value, HeapObject::kMapOffset)); | 
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 987     patcher.ChangeBranchCondition(ne); | 987     patcher.ChangeBranchCondition(ne); | 
| 988   } else { | 988   } else { | 
| 989     DCHECK(Assembler::IsBne(branch_instr)); | 989     DCHECK(Assembler::IsBne(branch_instr)); | 
| 990     patcher.ChangeBranchCondition(eq); | 990     patcher.ChangeBranchCondition(eq); | 
| 991   } | 991   } | 
| 992 } | 992 } | 
| 993 } | 993 } | 
| 994 }  // namespace v8::internal | 994 }  // namespace v8::internal | 
| 995 | 995 | 
| 996 #endif  // V8_TARGET_ARCH_MIPS64 | 996 #endif  // V8_TARGET_ARCH_MIPS64 | 
| OLD | NEW | 
|---|