| 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 6797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6808 __ Branch(&miss, ne, a2, Operand(known_map_)); | 6808 __ Branch(&miss, ne, a2, Operand(known_map_)); |
| 6809 __ Branch(&miss, ne, a3, Operand(known_map_)); | 6809 __ Branch(&miss, ne, a3, Operand(known_map_)); |
| 6810 | 6810 |
| 6811 __ Ret(USE_DELAY_SLOT); | 6811 __ Ret(USE_DELAY_SLOT); |
| 6812 __ subu(v0, a0, a1); | 6812 __ subu(v0, a0, a1); |
| 6813 | 6813 |
| 6814 __ bind(&miss); | 6814 __ bind(&miss); |
| 6815 GenerateMiss(masm); | 6815 GenerateMiss(masm); |
| 6816 } | 6816 } |
| 6817 | 6817 |
| 6818 |
| 6818 void ICCompareStub::GenerateMiss(MacroAssembler* masm) { | 6819 void ICCompareStub::GenerateMiss(MacroAssembler* masm) { |
| 6819 { | 6820 { |
| 6820 // Call the runtime system in a fresh internal frame. | 6821 // Call the runtime system in a fresh internal frame. |
| 6821 ExternalReference miss = | 6822 ExternalReference miss = |
| 6822 ExternalReference(IC_Utility(IC::kCompareIC_Miss), masm->isolate()); | 6823 ExternalReference(IC_Utility(IC::kCompareIC_Miss), masm->isolate()); |
| 6823 FrameScope scope(masm, StackFrame::INTERNAL); | 6824 FrameScope scope(masm, StackFrame::INTERNAL); |
| 6824 __ Push(a1, a0); | 6825 __ Push(a1, a0); |
| 6825 __ push(ra); | 6826 __ push(ra); |
| 6826 __ Push(a1, a0); | 6827 __ Push(a1, a0); |
| 6827 __ li(t0, Operand(Smi::FromInt(op_))); | 6828 __ li(t0, Operand(Smi::FromInt(op_))); |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7138 __ Ret(USE_DELAY_SLOT); | 7139 __ Ret(USE_DELAY_SLOT); |
| 7139 __ mov(result, zero_reg); | 7140 __ mov(result, zero_reg); |
| 7140 } | 7141 } |
| 7141 | 7142 |
| 7142 | 7143 |
| 7143 struct AheadOfTimeWriteBarrierStubList { | 7144 struct AheadOfTimeWriteBarrierStubList { |
| 7144 Register object, value, address; | 7145 Register object, value, address; |
| 7145 RememberedSetAction action; | 7146 RememberedSetAction action; |
| 7146 }; | 7147 }; |
| 7147 | 7148 |
| 7149 |
| 7148 #define REG(Name) { kRegister_ ## Name ## _Code } | 7150 #define REG(Name) { kRegister_ ## Name ## _Code } |
| 7149 | 7151 |
| 7150 static const AheadOfTimeWriteBarrierStubList kAheadOfTime[] = { | 7152 static const AheadOfTimeWriteBarrierStubList kAheadOfTime[] = { |
| 7151 // Used in RegExpExecStub. | 7153 // Used in RegExpExecStub. |
| 7152 { REG(s2), REG(s0), REG(t3), EMIT_REMEMBERED_SET }, | 7154 { REG(s2), REG(s0), REG(t3), EMIT_REMEMBERED_SET }, |
| 7153 // Used in CompileArrayPushCall. | 7155 // Used in CompileArrayPushCall. |
| 7154 // Also used in StoreIC::GenerateNormal via GenerateDictionaryStore. | 7156 // Also used in StoreIC::GenerateNormal via GenerateDictionaryStore. |
| 7155 // Also used in KeyedStoreIC::GenerateGeneric. | 7157 // Also used in KeyedStoreIC::GenerateGeneric. |
| 7156 { REG(a3), REG(t0), REG(t1), EMIT_REMEMBERED_SET }, | 7158 { REG(a3), REG(t0), REG(t1), EMIT_REMEMBERED_SET }, |
| 7157 // Used in CompileStoreGlobal. | 7159 // Used in CompileStoreGlobal. |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7849 __ bind(&fast_elements_case); | 7851 __ bind(&fast_elements_case); |
| 7850 GenerateCase(masm, FAST_ELEMENTS); | 7852 GenerateCase(masm, FAST_ELEMENTS); |
| 7851 } | 7853 } |
| 7852 | 7854 |
| 7853 | 7855 |
| 7854 #undef __ | 7856 #undef __ |
| 7855 | 7857 |
| 7856 } } // namespace v8::internal | 7858 } } // namespace v8::internal |
| 7857 | 7859 |
| 7858 #endif // V8_TARGET_ARCH_MIPS | 7860 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |