| 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 #if V8_TARGET_ARCH_MIPS | 5 #if V8_TARGET_ARCH_MIPS | 
| 6 | 6 | 
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" | 
| 8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" | 
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" | 
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" | 
| (...skipping 2845 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2856 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) { | 2856 void BinaryOpICWithAllocationSiteStub::Generate(MacroAssembler* masm) { | 
| 2857   // ----------- S t a t e ------------- | 2857   // ----------- S t a t e ------------- | 
| 2858   //  -- a1    : left | 2858   //  -- a1    : left | 
| 2859   //  -- a0    : right | 2859   //  -- a0    : right | 
| 2860   //  -- ra    : return address | 2860   //  -- ra    : return address | 
| 2861   // ----------------------------------- | 2861   // ----------------------------------- | 
| 2862 | 2862 | 
| 2863   // Load a2 with the allocation site. We stick an undefined dummy value here | 2863   // Load a2 with the allocation site. We stick an undefined dummy value here | 
| 2864   // and replace it with the real allocation site later when we instantiate this | 2864   // and replace it with the real allocation site later when we instantiate this | 
| 2865   // stub in BinaryOpICWithAllocationSiteStub::GetCodeCopyFromTemplate(). | 2865   // stub in BinaryOpICWithAllocationSiteStub::GetCodeCopyFromTemplate(). | 
| 2866   __ li(a2, handle(isolate()->heap()->undefined_value())); | 2866   __ li(a2, isolate()->factory()->undefined_value()); | 
| 2867 | 2867 | 
| 2868   // Make sure that we actually patched the allocation site. | 2868   // Make sure that we actually patched the allocation site. | 
| 2869   if (FLAG_debug_code) { | 2869   if (FLAG_debug_code) { | 
| 2870     __ And(at, a2, Operand(kSmiTagMask)); | 2870     __ And(at, a2, Operand(kSmiTagMask)); | 
| 2871     __ Assert(ne, kExpectedAllocationSite, at, Operand(zero_reg)); | 2871     __ Assert(ne, kExpectedAllocationSite, at, Operand(zero_reg)); | 
| 2872     __ lw(t0, FieldMemOperand(a2, HeapObject::kMapOffset)); | 2872     __ lw(t0, FieldMemOperand(a2, HeapObject::kMapOffset)); | 
| 2873     __ LoadRoot(at, Heap::kAllocationSiteMapRootIndex); | 2873     __ LoadRoot(at, Heap::kAllocationSiteMapRootIndex); | 
| 2874     __ Assert(eq, kExpectedAllocationSite, t0, Operand(at)); | 2874     __ Assert(eq, kExpectedAllocationSite, t0, Operand(at)); | 
| 2875   } | 2875   } | 
| 2876 | 2876 | 
| (...skipping 2747 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5624                            kStackUnwindSpace, kInvalidStackOffset, | 5624                            kStackUnwindSpace, kInvalidStackOffset, | 
| 5625                            return_value_operand, NULL); | 5625                            return_value_operand, NULL); | 
| 5626 } | 5626 } | 
| 5627 | 5627 | 
| 5628 #undef __ | 5628 #undef __ | 
| 5629 | 5629 | 
| 5630 }  // namespace internal | 5630 }  // namespace internal | 
| 5631 }  // namespace v8 | 5631 }  // namespace v8 | 
| 5632 | 5632 | 
| 5633 #endif  // V8_TARGET_ARCH_MIPS | 5633 #endif  // V8_TARGET_ARCH_MIPS | 
| OLD | NEW | 
|---|