Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(614)

Side by Side Diff: src/arm/ic-arm.cc

Issue 3402014: Generate inline code for contextual loads. (Closed)
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/arm/stub-cache-arm.cc » ('j') | src/ia32/codegen-ia32.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « no previous file | src/arm/stub-cache-arm.cc » ('j') | src/ia32/codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698