Ignore:
Timestamp:
Sep 19, 2008, 8:00:43 PM (17 years ago)
Author:
[email protected]
Message:

Improve peformance of local variable initialisation.

Reviewed by Maciej Stachowiak

Pull local and constant initialisation out of slideRegisterWindowForCall
and into its own opcode. This allows the JIT to generate the initialisation
code for a function directly into the instruction stream and so avoids a few
branches on function entry.

Results a 1% progression in SunSpider, particularly in a number of the bitop
tests where the called functions are very fast.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CodeBlock.cpp

    r36480 r36695  
    352352    int location = it - begin;
    353353    switch (exec->machine()->getOpcodeID(it->u.opcode)) {
     354        case op_initialise_locals: {
     355            printf("[%4d] initialise_locals\n", location);
     356            break;
     357        }
    354358        case op_unexpected_load: {
    355359            int r0 = (++it)->u.operand;
Note: See TracChangeset for help on using the changeset viewer.