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

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

Issue 18616: Remove spilled frame from some function entry code.... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 11 years, 11 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/virtual-frame-ia32.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 2008 the V8 project authors. All rights reserved. 1 // Copyright 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 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 FrameElement::RegisterElement(esi, FrameElement::NOT_SYNCED); 743 FrameElement::RegisterElement(esi, FrameElement::NOT_SYNCED);
744 } else if (current.is_memory()) { 744 } else if (current.is_memory()) {
745 Use(esi); 745 Use(esi);
746 __ mov(esi, Operand(ebp, fp_relative(context_index()))); 746 __ mov(esi, Operand(ebp, fp_relative(context_index())));
747 elements_[context_index()] = 747 elements_[context_index()] =
748 FrameElement::RegisterElement(esi, FrameElement::SYNCED); 748 FrameElement::RegisterElement(esi, FrameElement::SYNCED);
749 } 749 }
750 } 750 }
751 751
752 752
753 void VirtualFrame::PushReceiverSlotAddress() {
754 Result temp = cgen_->allocator()->Allocate();
755 ASSERT(temp.is_valid());
756 __ lea(temp.reg(), ParameterAt(-1));
757 Push(&temp);
758 }
759
760
753 void VirtualFrame::LoadFrameSlotAt(int index) { 761 void VirtualFrame::LoadFrameSlotAt(int index) {
754 ASSERT(index >= 0); 762 ASSERT(index >= 0);
755 ASSERT(index < elements_.length()); 763 ASSERT(index < elements_.length());
756 764
757 FrameElement element = elements_[index]; 765 FrameElement element = elements_[index];
758 766
759 if (element.is_memory()) { 767 if (element.is_memory()) {
760 ASSERT(index <= stack_pointer_); 768 ASSERT(index <= stack_pointer_);
761 // Eagerly load memory elements into a register. The element at 769 // Eagerly load memory elements into a register. The element at
762 // the index and the new top of the frame are backed by the same 770 // the index and the new top of the frame are backed by the same
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 return false; 1057 return false;
1050 } 1058 }
1051 } 1059 }
1052 return true; 1060 return true;
1053 } 1061 }
1054 #endif 1062 #endif
1055 1063
1056 #undef __ 1064 #undef __
1057 1065
1058 } } // namespace v8::internal 1066 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/virtual-frame-ia32.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698