v8/test/mjsunit/regress/regress-6907.js
Michael Starzinger 0a7fcd0f28 [deoptimizer] Fix materialization of builtin stub registers.
This makes sure that frames representing builtin stub continuations not
only materialize all stack slots, but also spilled register values. Note
that this also applies when the stub frame is not the top-most frame.

R=jarin@chromium.org
TEST=mjsunit/regress/regress-6907
BUG=v8:6907

Change-Id: I01a2edf5629de6aac61ceea350d1ab5f91dc2dc1
Reviewed-on: https://chromium-review.googlesource.com/707245
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48415}
2017-10-10 07:50:09 +00:00

22 lines
500 B
JavaScript

// Copyright 2017 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 TestDematerializedContextInBuiltin() {
var f = function() {
var b = [1,2,3];
var callback = function(v,i,o) {
%_DeoptimizeNow();
};
try { throw 0 } catch(e) {
return b.forEach(callback);
}
}
f();
f();
%OptimizeFunctionOnNextCall(f);
f();
})();