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

Side by Side Diff: src/arm/virtual-frame-arm.cc

Issue 2116003: ARM: Pass arguments to keyed store IC in registers... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/virtual-frame-arm.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 332
333 void VirtualFrame::CallKeyedLoadIC() { 333 void VirtualFrame::CallKeyedLoadIC() {
334 Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize)); 334 Handle<Code> ic(Builtins::builtin(Builtins::KeyedLoadIC_Initialize));
335 PopToR1R0(); 335 PopToR1R0();
336 SpillAll(); 336 SpillAll();
337 CallCodeObject(ic, RelocInfo::CODE_TARGET, 0); 337 CallCodeObject(ic, RelocInfo::CODE_TARGET, 0);
338 } 338 }
339 339
340 340
341 void VirtualFrame::CallKeyedStoreIC() { 341 void VirtualFrame::CallKeyedStoreIC() {
342 ASSERT(SpilledScope::is_spilled());
343 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Initialize)); 342 Handle<Code> ic(Builtins::builtin(Builtins::KeyedStoreIC_Initialize));
343 PopToR1R0();
344 SpillAll();
345 EmitPop(r2);
344 CallCodeObject(ic, RelocInfo::CODE_TARGET, 0); 346 CallCodeObject(ic, RelocInfo::CODE_TARGET, 0);
345 } 347 }
346 348
347 349
348 void VirtualFrame::CallCodeObject(Handle<Code> code, 350 void VirtualFrame::CallCodeObject(Handle<Code> code,
349 RelocInfo::Mode rmode, 351 RelocInfo::Mode rmode,
350 int dropped_args) { 352 int dropped_args) {
351 switch (code->kind()) { 353 switch (code->kind()) {
352 case Code::CALL_IC: 354 case Code::CALL_IC:
353 case Code::FUNCTION: 355 case Code::FUNCTION:
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
746 break; 748 break;
747 } 749 }
748 ASSERT(register_allocation_map_ == 0); // Not yet implemented. 750 ASSERT(register_allocation_map_ == 0); // Not yet implemented.
749 } 751 }
750 752
751 #undef __ 753 #undef __
752 754
753 } } // namespace v8::internal 755 } } // namespace v8::internal
754 756
755 #endif // V8_TARGET_ARCH_ARM 757 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/virtual-frame-arm.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698