// Copyright 2015 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 "use strict"; function Message(message) { this.message = message; } function Inlined(input) { var dummy = arguments[1] === undefined; if (input instanceof Message) { return input; } print("unreachable, but we must create register allocation complexity"); return []; } function Process(input) { var ret = []; ret.push(Inlined(input[0], 1, 2)); return ret; }; %PrepareFunctionForOptimization(Process); var input = [new Message("TEST PASS")]; Process(input); Process(input); %OptimizeFunctionOnNextCall(Process); var result = Process(input); assertEquals("TEST PASS", result[0].message);