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

Side by Side Diff: src/deoptimizer.cc

Issue 9643001: Inline functions that use arguments object in f.apply(o, arguments) pattern. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: regression test Created 8 years, 9 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
OLDNEW
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 829 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 PrintF(" ; literal\n"); 840 PrintF(" ; literal\n");
841 } 841 }
842 intptr_t value = reinterpret_cast<intptr_t>(literal); 842 intptr_t value = reinterpret_cast<intptr_t>(literal);
843 output_[frame_index]->SetFrameSlot(output_offset, value); 843 output_[frame_index]->SetFrameSlot(output_offset, value);
844 return; 844 return;
845 } 845 }
846 846
847 case Translation::ARGUMENTS_OBJECT: { 847 case Translation::ARGUMENTS_OBJECT: {
848 // Use the arguments marker value as a sentinel and fill in the arguments 848 // Use the arguments marker value as a sentinel and fill in the arguments
849 // object after the deoptimized frame is built. 849 // object after the deoptimized frame is built.
850 ASSERT(frame_index == 0); // Only supported for first frame.
851 if (FLAG_trace_deopt) { 850 if (FLAG_trace_deopt) {
852 PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- ", 851 PrintF(" 0x%08" V8PRIxPTR ": [top + %d] <- ",
853 output_[frame_index]->GetTop() + output_offset, 852 output_[frame_index]->GetTop() + output_offset,
854 output_offset); 853 output_offset);
855 isolate_->heap()->arguments_marker()->ShortPrint(); 854 isolate_->heap()->arguments_marker()->ShortPrint();
856 PrintF(" ; arguments object\n"); 855 PrintF(" ; arguments object\n");
857 } 856 }
858 intptr_t value = reinterpret_cast<intptr_t>( 857 intptr_t value = reinterpret_cast<intptr_t>(
859 isolate_->heap()->arguments_marker()); 858 isolate_->heap()->arguments_marker());
860 output_[frame_index]->SetFrameSlot(output_offset, value); 859 output_[frame_index]->SetFrameSlot(output_offset, value);
(...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after
1662 1661
1663 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { 1662 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) {
1664 v->VisitPointer(BitCast<Object**>(&function_)); 1663 v->VisitPointer(BitCast<Object**>(&function_));
1665 v->VisitPointers(parameters_, parameters_ + parameters_count_); 1664 v->VisitPointers(parameters_, parameters_ + parameters_count_);
1666 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); 1665 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_);
1667 } 1666 }
1668 1667
1669 #endif // ENABLE_DEBUGGER_SUPPORT 1668 #endif // ENABLE_DEBUGGER_SUPPORT
1670 1669
1671 } } // namespace v8::internal 1670 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698