| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 5138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5149 } | 5149 } |
| 5150 | 5150 |
| 5151 | 5151 |
| 5152 void ICCompareStub::GenerateMiss(MacroAssembler* masm) { | 5152 void ICCompareStub::GenerateMiss(MacroAssembler* masm) { |
| 5153 { | 5153 { |
| 5154 // Call the runtime system in a fresh internal frame. | 5154 // Call the runtime system in a fresh internal frame. |
| 5155 ExternalReference miss = | 5155 ExternalReference miss = |
| 5156 ExternalReference(IC_Utility(IC::kCompareIC_Miss), masm->isolate()); | 5156 ExternalReference(IC_Utility(IC::kCompareIC_Miss), masm->isolate()); |
| 5157 FrameScope scope(masm, StackFrame::INTERNAL); | 5157 FrameScope scope(masm, StackFrame::INTERNAL); |
| 5158 __ Push(a1, a0); | 5158 __ Push(a1, a0); |
| 5159 __ push(ra); | 5159 __ Push(ra, a1, a0); |
| 5160 __ Push(a1, a0); | |
| 5161 __ li(t0, Operand(Smi::FromInt(op_))); | 5160 __ li(t0, Operand(Smi::FromInt(op_))); |
| 5162 __ addiu(sp, sp, -kPointerSize); | 5161 __ addiu(sp, sp, -kPointerSize); |
| 5163 __ CallExternalReference(miss, 3, USE_DELAY_SLOT); | 5162 __ CallExternalReference(miss, 3, USE_DELAY_SLOT); |
| 5164 __ sw(t0, MemOperand(sp)); // In the delay slot. | 5163 __ sw(t0, MemOperand(sp)); // In the delay slot. |
| 5165 // Compute the entry point of the rewritten stub. | 5164 // Compute the entry point of the rewritten stub. |
| 5166 __ Addu(a2, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); | 5165 __ Addu(a2, v0, Operand(Code::kHeaderSize - kHeapObjectTag)); |
| 5167 // Restore registers. | 5166 // Restore registers. |
| 5168 __ Pop(a1, a0, ra); | 5167 __ Pop(a1, a0, ra); |
| 5169 } | 5168 } |
| 5170 __ Jump(a2); | 5169 __ Jump(a2); |
| (...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6216 __ bind(&fast_elements_case); | 6215 __ bind(&fast_elements_case); |
| 6217 GenerateCase(masm, FAST_ELEMENTS); | 6216 GenerateCase(masm, FAST_ELEMENTS); |
| 6218 } | 6217 } |
| 6219 | 6218 |
| 6220 | 6219 |
| 6221 #undef __ | 6220 #undef __ |
| 6222 | 6221 |
| 6223 } } // namespace v8::internal | 6222 } } // namespace v8::internal |
| 6224 | 6223 |
| 6225 #endif // V8_TARGET_ARCH_MIPS | 6224 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |