Reviewers: Michael Starzinger,
Description:
When running with --always-opt, don't deoptimize named loads with
uninitialized
type feedback.
This avoids tests taking too long because of repeated deoptimizations.
Please review this at https://chromiumcodereview.appspot.com/9812004/
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/hydrogen.cc
M test/cctest/test-log-stack-tracer.cc
Index: src/hydrogen.cc
===================================================================
--- src/hydrogen.cc (revision 11096)
+++ src/hydrogen.cc (working copy)
@@ -4523,7 +4523,7 @@
HInstruction* HGraphBuilder::BuildLoadNamedGeneric(HValue* obj,
Property* expr) {
- if (expr->IsUninitialized()) {
+ if (expr->IsUninitialized() && !FLAG_always_opt) {
AddInstruction(new(zone()) HSoftDeoptimize);
current_block()->MarkAsDeoptimizing();
}
Index: test/cctest/test-log-stack-tracer.cc
===================================================================
--- test/cctest/test-log-stack-tracer.cc (revision 11096)
+++ test/cctest/test-log-stack-tracer.cc (working copy)
@@ -277,9 +277,7 @@
TEST(CFromJSStackTrace) {
// BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this
test.
i::FLAG_use_inlining = false;
- // This test does not work with --always-opt because we don't replace
the code
- // in the JSFunction at deoptimization in that case.
- i::FLAG_always_opt = false;
+
TickSample sample;
InitTraceEnv(&sample);
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev