Status: Accepted
Owner: [email protected]
Labels: Type-Bug Priority-Medium

New issue 1716 by [email protected]: Local member functions not inlined as expected.
http://code.google.com/p/v8/issues/detail?id=1716

In the following example, the call to G.foo from G.run is not inlined. The call to F.foo in contrast is inlined:

(function() {
  function F() {}
  F.prototype.foo = function() {
    return "F::foo";
  }
  F.prototype.run = function() {
    return this.foo();
  }
  var f = new F();
  for (var i=0; i<5; i++) f.run();
  %OptimizeFunctionOnNextCall(f.run);
  print(f.run())
})();

(function() {
  function G() {}
  G.prototype.foo = function() {
    return "G::foo";
  }
  G.prototype.run = function() {
    return this.foo();
  }
  var f = new G();
  for (var i=0; i<5; i++) f.run();
  %OptimizeFunctionOnNextCall(f.run);
  print(f.run())
})();


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to