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


Ignore:
Timestamp:
Oct 7, 2008, 1:27:50 PM (17 years ago)
Author:
[email protected]
Message:

2008-10-07 Gavin Barraclough <[email protected]>

Reviewed by Oliver Hunt.

Move callframe initialization into JIT code, again.


As a part of the restructuring the second result from functions is now
returned in edx, allowing the new value of 'r' to be returned via a
register, and stored to the stack from JIT code, too.

4.5% progression on v8-tests. (3% in their harness)

  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitCall): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h: (JSC::CallRecord::CallRecord):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_post_dec):
  • VM/Machine.h:
  • kjs/JSFunction.h:
  • kjs/ScopeChain.h:
File:
1 edited

Legend:

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

    r37366 r37386  
    162162        static JSValue* SFX_CALL cti_op_mul(CTI_ARGS);
    163163        static JSValue* SFX_CALL cti_op_new_func(CTI_ARGS);
    164         static void* SFX_CALL cti_op_call_JSFunction(CTI_ARGS);
     164        static VoidPtrPair SFX_CALL cti_op_call_JSFunction(CTI_ARGS);
    165165        static JSValue* SFX_CALL cti_op_call_NotJSFunction(CTI_ARGS);
    166166        static void SFX_CALL cti_op_create_arguments(CTI_ARGS);
     
    172172        static JSValue* SFX_CALL cti_op_resolve(CTI_ARGS);
    173173        static JSValue* SFX_CALL cti_op_resolve_global(CTI_ARGS);
    174         static void* SFX_CALL cti_op_construct_JSConstruct(CTI_ARGS);
     174        static VoidPtrPair SFX_CALL cti_op_construct_JSConstruct(CTI_ARGS);
    175175        static JSValue* SFX_CALL cti_op_construct_NotJSConstruct(CTI_ARGS);
    176176        static JSValue* SFX_CALL cti_op_get_by_val(CTI_ARGS);
    177         static JSValue* SFX_CALL cti_op_resolve_func(CTI_ARGS);
     177        static VoidPtrPair SFX_CALL cti_op_resolve_func(CTI_ARGS);
    178178        static JSValue* SFX_CALL cti_op_sub(CTI_ARGS);
    179179        static void SFX_CALL cti_op_put_by_val(CTI_ARGS);
     
    189189        static JSValue* SFX_CALL cti_op_not(CTI_ARGS);
    190190        static int SFX_CALL cti_op_jtrue(CTI_ARGS);
    191         static JSValue* SFX_CALL cti_op_post_inc(CTI_ARGS);
     191        static VoidPtrPair SFX_CALL cti_op_post_inc(CTI_ARGS);
    192192        static JSValue* SFX_CALL cti_op_eq(CTI_ARGS);
    193193        static JSValue* SFX_CALL cti_op_lshift(CTI_ARGS);
     
    195195        static JSValue* SFX_CALL cti_op_rshift(CTI_ARGS);
    196196        static JSValue* SFX_CALL cti_op_bitnot(CTI_ARGS);
    197         static JSValue* SFX_CALL cti_op_resolve_with_base(CTI_ARGS);
     197        static VoidPtrPair SFX_CALL cti_op_resolve_with_base(CTI_ARGS);
    198198        static JSValue* SFX_CALL cti_op_new_func_exp(CTI_ARGS);
    199199        static JSValue* SFX_CALL cti_op_mod(CTI_ARGS);
    200200        static JSValue* SFX_CALL cti_op_less(CTI_ARGS);
    201201        static JSValue* SFX_CALL cti_op_neq(CTI_ARGS);
    202         static JSValue* SFX_CALL cti_op_post_dec(CTI_ARGS);
     202        static VoidPtrPair SFX_CALL cti_op_post_dec(CTI_ARGS);
    203203        static JSValue* SFX_CALL cti_op_urshift(CTI_ARGS);
    204204        static JSValue* SFX_CALL cti_op_bitxor(CTI_ARGS);
Note: See TracChangeset for help on using the changeset viewer.