// 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"); |