Changeset 38209 in webkit for trunk/JavaScriptCore/VM/Machine.h


Ignore:
Timestamp:
Nov 6, 2008, 5:30:03 PM (17 years ago)
Author:
[email protected]
Message:

2008-11-06 Gavin Barraclough [email protected]

Reviewed by Oliver Hunt.

Do not make a cti_* call to perform an op_call unless either:
(1) The codeblock for the function body has not been generated.
(2) The number of arguments passed does not match the callee arity.

~1% progression on sunspider --v8

  • VM/CTI.cpp: (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases):
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_call_arityCheck): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • kjs/nodes.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/Machine.h

    r37998 r38209  
    191191        static JSValue* SFX_CALL cti_op_mul(CTI_ARGS);
    192192        static JSObject* SFX_CALL cti_op_new_func(CTI_ARGS);
    193         static VoidPtrPair SFX_CALL cti_op_call_JSFunction(CTI_ARGS);
     193        static void* SFX_CALL cti_op_call_JSFunction(CTI_ARGS);
     194        static VoidPtrPair SFX_CALL cti_op_call_arityCheck(CTI_ARGS);
    194195        static JSValue* SFX_CALL cti_op_call_NotJSFunction(CTI_ARGS);
    195196        static void SFX_CALL cti_op_create_arguments(CTI_ARGS);
     
    203204        static JSValue* SFX_CALL cti_op_resolve(CTI_ARGS);
    204205        static JSValue* SFX_CALL cti_op_resolve_global(CTI_ARGS);
    205         static JSObject* SFX_CALL cti_op_construct_JSConstructFast(CTI_ARGS);
    206         static VoidPtrPair SFX_CALL cti_op_construct_JSConstruct(CTI_ARGS);
     206        static JSObject* SFX_CALL cti_op_construct_JSConstruct(CTI_ARGS);
    207207        static JSValue* SFX_CALL cti_op_construct_NotJSConstruct(CTI_ARGS);
    208208        static JSValue* SFX_CALL cti_op_get_by_val(CTI_ARGS);
     
    269269
    270270        static JSValue* SFX_CALL cti_vm_throw(CTI_ARGS);
    271         static void* SFX_CALL cti_vm_compile(CTI_ARGS);
    272271        static void* SFX_CALL cti_vm_lazyLinkCall(CTI_ARGS);
    273272        static JSObject* SFX_CALL cti_op_push_activation(CTI_ARGS);
Note: See TracChangeset for help on using the changeset viewer.