054af8477c
R=mythria@chromium.org Bug: v8:9183 Change-Id: Id7c29452ef6d643b59eb3252df188bf288e2de23 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660469 Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#62168}
39 lines
711 B
JavaScript
39 lines
711 B
JavaScript
// 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 genM() {
|
|
"use strict";
|
|
return function () {
|
|
return this.field;
|
|
};
|
|
}
|
|
|
|
function genR() {
|
|
var x = {
|
|
field: 10
|
|
}
|
|
return x;
|
|
}
|
|
|
|
method = {};
|
|
receiver = {};
|
|
|
|
method = genM("A");
|
|
receiver = genR("A");
|
|
|
|
var foo = (function () {
|
|
return function suspect (name) {
|
|
"use strict";
|
|
return method.apply(receiver, arguments);
|
|
}
|
|
})();
|
|
%PrepareFunctionForOptimization(foo);
|
|
|
|
foo("a", "b", "c");
|
|
foo("a", "b", "c");
|
|
foo("a", "b", "c");
|
|
%OptimizeFunctionOnNextCall(foo);
|
|
foo("a", "b", "c");
|