OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 949 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
960 | 960 |
961 // Patch the map check. | 961 // Patch the map check. |
962 Address ldr_map_instr_address = | 962 Address ldr_map_instr_address = |
963 inline_end_address - 4 * Assembler::kInstrSize; | 963 inline_end_address - 4 * Assembler::kInstrSize; |
964 Assembler::set_target_address_at(ldr_map_instr_address, | 964 Assembler::set_target_address_at(ldr_map_instr_address, |
965 reinterpret_cast<Address>(map)); | 965 reinterpret_cast<Address>(map)); |
966 return true; | 966 return true; |
967 } | 967 } |
968 | 968 |
969 | 969 |
| 970 bool LoadIC::PatchInlinedContextualLoad(Address address, |
| 971 Object* map, |
| 972 Object* cell) { |
| 973 // TODO(<bug#>): implement this. |
| 974 return false; |
| 975 } |
| 976 |
| 977 |
970 bool StoreIC::PatchInlinedStore(Address address, Object* map, int offset) { | 978 bool StoreIC::PatchInlinedStore(Address address, Object* map, int offset) { |
971 // Find the end of the inlined code for the store if there is an | 979 // Find the end of the inlined code for the store if there is an |
972 // inlined version of the store. | 980 // inlined version of the store. |
973 Address inline_end_address; | 981 Address inline_end_address; |
974 if (!IsInlinedICSite(address, &inline_end_address)) return false; | 982 if (!IsInlinedICSite(address, &inline_end_address)) return false; |
975 | 983 |
976 // Compute the address of the map load instruction. | 984 // Compute the address of the map load instruction. |
977 Address ldr_map_instr_address = | 985 Address ldr_map_instr_address = |
978 inline_end_address - | 986 inline_end_address - |
979 (CodeGenerator::GetInlinedNamedStoreInstructionsAfterPatch() * | 987 (CodeGenerator::GetInlinedNamedStoreInstructionsAfterPatch() * |
(...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2242 GenerateMiss(masm); | 2250 GenerateMiss(masm); |
2243 } | 2251 } |
2244 | 2252 |
2245 | 2253 |
2246 #undef __ | 2254 #undef __ |
2247 | 2255 |
2248 | 2256 |
2249 } } // namespace v8::internal | 2257 } } // namespace v8::internal |
2250 | 2258 |
2251 #endif // V8_TARGET_ARCH_ARM | 2259 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |