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

Side by Side Diff: src/runtime-profiler.cc

Issue 6685119: [Arguments] Remove the arguments shadow symbol. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/arguments
Patch Set: Created 9 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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 162
163 SharedFunctionInfo* shared = function->shared(); 163 SharedFunctionInfo* shared = function->shared();
164 // If the code is not optimizable or references context slots, don't try OSR. 164 // If the code is not optimizable or references context slots, don't try OSR.
165 if (!shared->code()->optimizable() || !shared->allows_lazy_compilation()) { 165 if (!shared->code()->optimizable() || !shared->allows_lazy_compilation()) {
166 return; 166 return;
167 } 167 }
168 168
169 // We are not prepared to do OSR for a function that already has an 169 // We are not prepared to do OSR for a function that already has an
170 // allocated arguments object. The optimized code would bypass it for 170 // allocated arguments object. The optimized code would bypass it for
171 // arguments accesses, which is unsound. Don't try OSR. 171 // arguments accesses, which is unsound. Don't try OSR.
172 if (shared->scope_info()->HasArgumentsShadow()) return; 172 if (shared->uses_arguments()) return;
173 173
174 // We're using on-stack replacement: patch the unoptimized code so that 174 // We're using on-stack replacement: patch the unoptimized code so that
175 // any back edge in any unoptimized frame will trigger on-stack 175 // any back edge in any unoptimized frame will trigger on-stack
176 // replacement for that frame. 176 // replacement for that frame.
177 if (FLAG_trace_osr) { 177 if (FLAG_trace_osr) {
178 PrintF("[patching stack checks in "); 178 PrintF("[patching stack checks in ");
179 function->PrintName(); 179 function->PrintName();
180 PrintF(" for on-stack replacement]\n"); 180 PrintF(" for on-stack replacement]\n");
181 } 181 }
182 182
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 if (Top::WaitForJSState()) return true; 434 if (Top::WaitForJSState()) return true;
435 } 435 }
436 } 436 }
437 } 437 }
438 #endif 438 #endif
439 return false; 439 return false;
440 } 440 }
441 441
442 442
443 } } // namespace v8::internal 443 } } // namespace v8::internal
OLDNEW
« src/ia32/full-codegen-ia32.cc ('K') | « src/runtime.cc ('k') | src/scopeinfo.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698