When running with --always-opt, don't deoptimize named loads with uninitialized type feedback.

This avoids tests taking too long because of repeated deoptimizations.
Review URL: https://chromiumcodereview.appspot.com/9812004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent b49dd13c
...@@ -4523,7 +4523,7 @@ HLoadNamedField* HGraphBuilder::BuildLoadNamedField(HValue* object, ...@@ -4523,7 +4523,7 @@ HLoadNamedField* HGraphBuilder::BuildLoadNamedField(HValue* object,
HInstruction* HGraphBuilder::BuildLoadNamedGeneric(HValue* obj, HInstruction* HGraphBuilder::BuildLoadNamedGeneric(HValue* obj,
Property* expr) { Property* expr) {
if (expr->IsUninitialized()) { if (expr->IsUninitialized() && !FLAG_always_opt) {
AddInstruction(new(zone()) HSoftDeoptimize); AddInstruction(new(zone()) HSoftDeoptimize);
current_block()->MarkAsDeoptimizing(); current_block()->MarkAsDeoptimizing();
} }
......
...@@ -277,9 +277,7 @@ static void CreateTraceCallerFunction(const char* func_name, ...@@ -277,9 +277,7 @@ static void CreateTraceCallerFunction(const char* func_name,
TEST(CFromJSStackTrace) { TEST(CFromJSStackTrace) {
// BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test. // BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test.
i::FLAG_use_inlining = false; 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; TickSample sample;
InitTraceEnv(&sample); InitTraceEnv(&sample);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment