Ignore:
Timestamp:
Mar 27, 2009, 8:50:39 PM (16 years ago)
Author:
[email protected]
Message:

Improve performance of Function.prototype.call
<https://bugs.webkit.org/show_bug.cgi?id=24907>

Reviewed by Gavin Barraclough

Optimistically assume that expression.call(..) is going to be a call to
Function.prototype.call, and handle it specially to attempt to reduce the
degree of VM reentrancy.

When everything goes right this removes the vm reentry improving .call()
by around a factor of 10.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.h

    r41998 r42065  
    299299        PassRefPtr<Label> emitJumpIfTrue(RegisterID* cond, Label* target);
    300300        PassRefPtr<Label> emitJumpIfFalse(RegisterID* cond, Label* target);
     301        PassRefPtr<Label> emitJumpIfNotFunctionCall(RegisterID* cond, Label* target);
    301302        PassRefPtr<Label> emitJumpScopes(Label* target, int targetScopeDepth);
    302303
Note: See TracChangeset for help on using the changeset viewer.