| 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 324 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 335 | 335 | 
| 336 void LoadIC::GenerateMegamorphic(MacroAssembler* masm, | 336 void LoadIC::GenerateMegamorphic(MacroAssembler* masm, | 
| 337                                  ExtraICState extra_state) { | 337                                  ExtraICState extra_state) { | 
| 338   // ----------- S t a t e ------------- | 338   // ----------- S t a t e ------------- | 
| 339   //  -- r2    : name | 339   //  -- r2    : name | 
| 340   //  -- lr    : return address | 340   //  -- lr    : return address | 
| 341   //  -- r0    : receiver | 341   //  -- r0    : receiver | 
| 342   // ----------------------------------- | 342   // ----------------------------------- | 
| 343 | 343 | 
| 344   // Probe the stub cache. | 344   // Probe the stub cache. | 
| 345   Code::Flags flags = Code::ComputeFlags( | 345   Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC, extra_state); | 
| 346       Code::HANDLER, MONOMORPHIC, extra_state, |  | 
| 347       Code::NORMAL, Code::LOAD_IC); |  | 
| 348   masm->isolate()->stub_cache()->GenerateProbe( | 346   masm->isolate()->stub_cache()->GenerateProbe( | 
| 349       masm, flags, r0, r2, r3, r4, r5, r6); | 347       masm, flags, r0, r2, r3, r4, r5, r6); | 
| 350 | 348 | 
| 351   // Cache miss: Jump to runtime. | 349   // Cache miss: Jump to runtime. | 
| 352   GenerateMiss(masm); | 350   GenerateMiss(masm); | 
| 353 } | 351 } | 
| 354 | 352 | 
| 355 | 353 | 
| 356 void LoadIC::GenerateNormal(MacroAssembler* masm) { | 354 void LoadIC::GenerateNormal(MacroAssembler* masm) { | 
| 357   // ----------- S t a t e ------------- | 355   // ----------- S t a t e ------------- | 
| (...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1156                                   value, key, receiver, receiver_map, | 1154                                   value, key, receiver, receiver_map, | 
| 1157                                   elements_map, elements); | 1155                                   elements_map, elements); | 
| 1158   KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow, | 1156   KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow, | 
| 1159                                   &slow, kDontCheckMap, kIncrementLength, | 1157                                   &slow, kDontCheckMap, kIncrementLength, | 
| 1160                                   value, key, receiver, receiver_map, | 1158                                   value, key, receiver, receiver_map, | 
| 1161                                   elements_map, elements); | 1159                                   elements_map, elements); | 
| 1162 } | 1160 } | 
| 1163 | 1161 | 
| 1164 | 1162 | 
| 1165 void StoreIC::GenerateMegamorphic(MacroAssembler* masm, | 1163 void StoreIC::GenerateMegamorphic(MacroAssembler* masm, | 
| 1166                                   ExtraICState extra_ic_state) { | 1164                                   ExtraICState extra_state) { | 
| 1167   // ----------- S t a t e ------------- | 1165   // ----------- S t a t e ------------- | 
| 1168   //  -- r0    : value | 1166   //  -- r0    : value | 
| 1169   //  -- r1    : receiver | 1167   //  -- r1    : receiver | 
| 1170   //  -- r2    : name | 1168   //  -- r2    : name | 
| 1171   //  -- lr    : return address | 1169   //  -- lr    : return address | 
| 1172   // ----------------------------------- | 1170   // ----------------------------------- | 
| 1173 | 1171 | 
| 1174   // Get the receiver from the stack and probe the stub cache. | 1172   // Get the receiver from the stack and probe the stub cache. | 
| 1175   Code::Flags flags = Code::ComputeFlags( | 1173   Code::Flags flags = Code::ComputeHandlerFlags(Code::STORE_IC, extra_state); | 
| 1176       Code::HANDLER, MONOMORPHIC, extra_ic_state, |  | 
| 1177       Code::NORMAL, Code::STORE_IC); |  | 
| 1178 | 1174 | 
| 1179   masm->isolate()->stub_cache()->GenerateProbe( | 1175   masm->isolate()->stub_cache()->GenerateProbe( | 
| 1180       masm, flags, r1, r2, r3, r4, r5, r6); | 1176       masm, flags, r1, r2, r3, r4, r5, r6); | 
| 1181 | 1177 | 
| 1182   // Cache miss: Jump to runtime. | 1178   // Cache miss: Jump to runtime. | 
| 1183   GenerateMiss(masm); | 1179   GenerateMiss(masm); | 
| 1184 } | 1180 } | 
| 1185 | 1181 | 
| 1186 | 1182 | 
| 1187 void StoreIC::GenerateMiss(MacroAssembler* masm) { | 1183 void StoreIC::GenerateMiss(MacroAssembler* masm) { | 
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1337   } else { | 1333   } else { | 
| 1338     ASSERT(Assembler::GetCondition(branch_instr) == ne); | 1334     ASSERT(Assembler::GetCondition(branch_instr) == ne); | 
| 1339     patcher.EmitCondition(eq); | 1335     patcher.EmitCondition(eq); | 
| 1340   } | 1336   } | 
| 1341 } | 1337 } | 
| 1342 | 1338 | 
| 1343 | 1339 | 
| 1344 } }  // namespace v8::internal | 1340 } }  // namespace v8::internal | 
| 1345 | 1341 | 
| 1346 #endif  // V8_TARGET_ARCH_ARM | 1342 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|