Commit c1976459 authored by jarin@chromium.org's avatar jarin@chromium.org

Dead code elimination of inlined arguments objects causes wrong deopt info to...

Dead code elimination of inlined arguments objects causes wrong deopt info to be generated - instead of materializing the arguments, we get 'undefined'.

Golem says the change is perf-neutral.

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/208683006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 814be9b1
...@@ -3378,8 +3378,6 @@ class HArgumentsObject V8_FINAL : public HDematerializedObject { ...@@ -3378,8 +3378,6 @@ class HArgumentsObject V8_FINAL : public HDematerializedObject {
set_representation(Representation::Tagged()); set_representation(Representation::Tagged());
SetFlag(kIsArguments); SetFlag(kIsArguments);
} }
virtual bool IsDeletable() const V8_FINAL V8_OVERRIDE { return true; }
}; };
......
// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
function f() { var v = arguments[0]; }
function g() { f(); }
g();
g();
%OptimizeFunctionOnNextCall(g);
g();
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