| 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 1422 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1433   __ Push(a2, a1, a0); |  1433   __ Push(a2, a1, a0); | 
|  1434  |  1434  | 
|  1435   ExternalReference ref = miss_mode == MISS_FORCE_GENERIC |  1435   ExternalReference ref = miss_mode == MISS_FORCE_GENERIC | 
|  1436       ? ExternalReference(IC_Utility(kKeyedStoreIC_MissForceGeneric), |  1436       ? ExternalReference(IC_Utility(kKeyedStoreIC_MissForceGeneric), | 
|  1437                           masm->isolate()) |  1437                           masm->isolate()) | 
|  1438       : ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); |  1438       : ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); | 
|  1439   __ TailCallExternalReference(ref, 3, 1); |  1439   __ TailCallExternalReference(ref, 3, 1); | 
|  1440 } |  1440 } | 
|  1441  |  1441  | 
|  1442  |  1442  | 
 |  1443 void StoreIC::GenerateSlow(MacroAssembler* masm) { | 
 |  1444   // ---------- S t a t e -------------- | 
 |  1445   //  -- a0     : value | 
 |  1446   //  -- a2     : key | 
 |  1447   //  -- a1     : receiver | 
 |  1448   //  -- ra     : return address | 
 |  1449   // ----------------------------------- | 
 |  1450  | 
 |  1451   // Push receiver, key and value for runtime call. | 
 |  1452   __ Push(a1, a2, a0); | 
 |  1453  | 
 |  1454   // The slow case calls into the runtime to complete the store without causing | 
 |  1455   // an IC miss that would otherwise cause a transition to the generic stub. | 
 |  1456   ExternalReference ref = | 
 |  1457       ExternalReference(IC_Utility(kKeyedStoreIC_Slow), masm->isolate()); | 
 |  1458   __ TailCallExternalReference(ref, 3, 1); | 
 |  1459 } | 
 |  1460  | 
 |  1461  | 
|  1443 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { |  1462 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { | 
|  1444   // ---------- S t a t e -------------- |  1463   // ---------- S t a t e -------------- | 
|  1445   //  -- a0     : value |  1464   //  -- a0     : value | 
|  1446   //  -- a1     : key |  1465   //  -- a1     : key | 
|  1447   //  -- a2     : receiver |  1466   //  -- a2     : receiver | 
|  1448   //  -- ra     : return address |  1467   //  -- ra     : return address | 
|  1449   // ----------------------------------- |  1468   // ----------------------------------- | 
|  1450  |  1469  | 
|  1451   // Push receiver, key and value for runtime call. |  1470   // Push receiver, key and value for runtime call. | 
|  1452   // We can't use MultiPush as the order of the registers is important. |  1471   // We can't use MultiPush as the order of the registers is important. | 
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1679   } else { |  1698   } else { | 
|  1680     ASSERT(Assembler::IsBne(branch_instr)); |  1699     ASSERT(Assembler::IsBne(branch_instr)); | 
|  1681     patcher.ChangeBranchCondition(eq); |  1700     patcher.ChangeBranchCondition(eq); | 
|  1682   } |  1701   } | 
|  1683 } |  1702 } | 
|  1684  |  1703  | 
|  1685  |  1704  | 
|  1686 } }  // namespace v8::internal |  1705 } }  // namespace v8::internal | 
|  1687  |  1706  | 
|  1688 #endif  // V8_TARGET_ARCH_MIPS |  1707 #endif  // V8_TARGET_ARCH_MIPS | 
| OLD | NEW |