Ignore:
Timestamp:
Jun 8, 2012, 12:57:40 PM (13 years ago)
Author:
[email protected]
Message:

Explictly mark stubs called by JIT as being internal
https://bugs.webkit.org/show_bug.cgi?id=88552

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • jit/HostCallReturnValue.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/ThunkGenerators.cpp:
  • llint/LLIntSlowPaths.h: Mark a bunch of stubs as being

WTF_INTERNAL. Change most calls to SYMBOL_STRING_RELOCATION to
LOCAL_REFERENCE, or GLOBAL_REFERENCE in the case of the wrappers
to truly global symbols.

  • offlineasm/asm.rb: Generate LOCAL_REFERENCE instead of

SYMBOL_STRING_RELOCATION.

Don't rely on weak pointers for eager CodeBlock finalization
https://bugs.webkit.org/show_bug.cgi?id=88465

Reviewed by Gavin Barraclough.

This is incompatible with lazy weak pointer finalization.

I considered just making CodeBlock finalization lazy-friendly, but it
turns out that the heap is already way up in CodeBlock's business when
it comes to finalization, so I decided to finish the job and move full
responsibility for CodeBlock finalization into the heap.

will build.

  • debugger/Debugger.cpp: Updated for rename.
  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode): Renamed for consistency. Fixed a bug
where we would not delete code for a code block that had been previously
jettisoned. I don't know if this happens in practice -- I mostly did
this to improve consistency with deleteUnmarkedCompiledCode.

(JSC::Heap::deleteUnmarkedCompiledCode): New function, responsible for
eager finalization of unmarked code blocks.

(JSC::Heap::collect): Updated for rename. Updated to call
deleteUnmarkedCompiledCode(), which takes care of jettisoned DFG code
blocks too.

(JSC::Heap::addCompiledCode): Renamed, since this points to all code
now, not just functions.

  • heap/Heap.h:

(Heap): Keep track of all user code, not just functions. This is a
negligible additional overhead, since most code is function code.

  • runtime/Executable.cpp:

(JSC::*::finalize): Removed these functions, since we don't rely on
weak pointer finalization anymore.

(JSC::FunctionExecutable::FunctionExecutable): Moved linked-list stuff
into base class so all executables can be in the list.

(JSC::EvalExecutable::clearCode):
(JSC::ProgramExecutable::clearCode):
(JSC::FunctionExecutable::clearCode): All we need to do is delete our
CodeBlock -- that will delete all of its internal data structures.

(JSC::FunctionExecutable::clearCodeIfNotCompiling): Factored out a helper
function to improve clarity.

  • runtime/Executable.h:

(JSC::ExecutableBase): Moved linked-list stuff
into base class so all executables can be in the list.

(JSC::NativeExecutable::create):
(NativeExecutable):
(ScriptExecutable):
(JSC::ScriptExecutable::finishCreation):
(JSC::EvalExecutable::create):
(EvalExecutable):
(JSC::ProgramExecutable::create):
(ProgramExecutable):
(FunctionExecutable):
(JSC::FunctionExecutable::create): Don't use a finalizer -- the heap
will call us back to destroy our code block.

(JSC::FunctionExecutable::discardCode): Renamed to clearCodeIfNotCompiling()
for clarity.

(JSC::FunctionExecutable::isCompiling): New helper function, for clarity.

(JSC::ScriptExecutable::clearCodeVirtual): New helper function, since
the heap needs to make polymorphic calls to clear code.

  • runtime/JSGlobalData.cpp:

(JSC::StackPreservingRecompiler::operator()):

  • runtime/JSGlobalObject.cpp:

(JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Updated for
renames.

Source/WTF:

  • wtf/ExportMacros.h (WTF_INTERNAL, HAVE_INTERNAL_VISIBILITY): New

defines. Regardless of what the port does about visibility in
general, for code referenced only from assembly it is useful to
give it internal visibility.

  • wtf/InlineASM.h: Split SYMBOL_STRING_RELOCATION into

LOCAL_REFERENCE and GLOBAL_REFERENCE; the former will try to avoid
indirection if HAVE(INTERNAL_VISIBILITY).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JITStubs.h

    r119441 r119857  
    342342
    343343extern "C" {
    344     EncodedJSValue JIT_STUB cti_op_add(STUB_ARGS_DECLARATION);
    345     EncodedJSValue JIT_STUB cti_op_bitand(STUB_ARGS_DECLARATION);
    346     EncodedJSValue JIT_STUB cti_op_bitor(STUB_ARGS_DECLARATION);
    347     EncodedJSValue JIT_STUB cti_op_bitxor(STUB_ARGS_DECLARATION);
    348     EncodedJSValue JIT_STUB cti_op_call_NotJSFunction(STUB_ARGS_DECLARATION);
    349     EncodedJSValue JIT_STUB cti_op_call_eval(STUB_ARGS_DECLARATION);
    350     EncodedJSValue JIT_STUB cti_op_construct_NotJSConstruct(STUB_ARGS_DECLARATION);
    351     EncodedJSValue JIT_STUB cti_op_create_this(STUB_ARGS_DECLARATION);
    352     EncodedJSValue JIT_STUB cti_op_convert_this(STUB_ARGS_DECLARATION);
    353     EncodedJSValue JIT_STUB cti_op_create_arguments(STUB_ARGS_DECLARATION);
    354     EncodedJSValue JIT_STUB cti_op_del_by_id(STUB_ARGS_DECLARATION);
    355     EncodedJSValue JIT_STUB cti_op_del_by_val(STUB_ARGS_DECLARATION);
    356     EncodedJSValue JIT_STUB cti_op_div(STUB_ARGS_DECLARATION);
    357     EncodedJSValue JIT_STUB cti_op_get_by_id(STUB_ARGS_DECLARATION);
    358     EncodedJSValue JIT_STUB cti_op_get_by_id_array_fail(STUB_ARGS_DECLARATION);
    359     EncodedJSValue JIT_STUB cti_op_get_by_id_custom_stub(STUB_ARGS_DECLARATION);
    360     EncodedJSValue JIT_STUB cti_op_get_by_id_generic(STUB_ARGS_DECLARATION);
    361     EncodedJSValue JIT_STUB cti_op_get_by_id_getter_stub(STUB_ARGS_DECLARATION);
    362     EncodedJSValue JIT_STUB cti_op_get_by_id_method_check(STUB_ARGS_DECLARATION);
    363     EncodedJSValue JIT_STUB cti_op_get_by_id_method_check_update(STUB_ARGS_DECLARATION);
    364     EncodedJSValue JIT_STUB cti_op_get_by_id_proto_fail(STUB_ARGS_DECLARATION);
    365     EncodedJSValue JIT_STUB cti_op_get_by_id_proto_list(STUB_ARGS_DECLARATION);
    366     EncodedJSValue JIT_STUB cti_op_get_by_id_proto_list_full(STUB_ARGS_DECLARATION);
    367     EncodedJSValue JIT_STUB cti_op_get_by_id_self_fail(STUB_ARGS_DECLARATION);
    368     EncodedJSValue JIT_STUB cti_op_get_by_id_string_fail(STUB_ARGS_DECLARATION);
    369     EncodedJSValue JIT_STUB cti_op_get_by_val(STUB_ARGS_DECLARATION);
    370     EncodedJSValue JIT_STUB cti_op_get_by_val_string(STUB_ARGS_DECLARATION);
    371     EncodedJSValue JIT_STUB cti_op_in(STUB_ARGS_DECLARATION);
    372     EncodedJSValue JIT_STUB cti_op_instanceof(STUB_ARGS_DECLARATION);
    373     EncodedJSValue JIT_STUB cti_op_is_boolean(STUB_ARGS_DECLARATION);
    374     EncodedJSValue JIT_STUB cti_op_is_function(STUB_ARGS_DECLARATION);
    375     EncodedJSValue JIT_STUB cti_op_is_number(STUB_ARGS_DECLARATION);
    376     EncodedJSValue JIT_STUB cti_op_is_object(STUB_ARGS_DECLARATION);
    377     EncodedJSValue JIT_STUB cti_op_is_string(STUB_ARGS_DECLARATION);
    378     EncodedJSValue JIT_STUB cti_op_is_undefined(STUB_ARGS_DECLARATION);
    379     EncodedJSValue JIT_STUB cti_op_less(STUB_ARGS_DECLARATION);
    380     EncodedJSValue JIT_STUB cti_op_lesseq(STUB_ARGS_DECLARATION);
    381     EncodedJSValue JIT_STUB cti_op_greater(STUB_ARGS_DECLARATION);
    382     EncodedJSValue JIT_STUB cti_op_greatereq(STUB_ARGS_DECLARATION);
    383     EncodedJSValue JIT_STUB cti_op_lshift(STUB_ARGS_DECLARATION);
    384     EncodedJSValue JIT_STUB cti_op_mod(STUB_ARGS_DECLARATION);
    385     EncodedJSValue JIT_STUB cti_op_mul(STUB_ARGS_DECLARATION);
    386     EncodedJSValue JIT_STUB cti_op_negate(STUB_ARGS_DECLARATION);
    387     EncodedJSValue JIT_STUB cti_op_not(STUB_ARGS_DECLARATION);
    388     EncodedJSValue JIT_STUB cti_op_nstricteq(STUB_ARGS_DECLARATION);
    389     EncodedJSValue JIT_STUB cti_op_post_dec(STUB_ARGS_DECLARATION);
    390     EncodedJSValue JIT_STUB cti_op_post_inc(STUB_ARGS_DECLARATION);
    391     EncodedJSValue JIT_STUB cti_op_pre_dec(STUB_ARGS_DECLARATION);
    392     EncodedJSValue JIT_STUB cti_op_pre_inc(STUB_ARGS_DECLARATION);
    393     EncodedJSValue JIT_STUB cti_op_resolve(STUB_ARGS_DECLARATION);
    394     EncodedJSValue JIT_STUB cti_op_resolve_base(STUB_ARGS_DECLARATION);
    395     EncodedJSValue JIT_STUB cti_op_resolve_base_strict_put(STUB_ARGS_DECLARATION);
    396     EncodedJSValue JIT_STUB cti_op_ensure_property_exists(STUB_ARGS_DECLARATION);
    397     EncodedJSValue JIT_STUB cti_op_resolve_global(STUB_ARGS_DECLARATION);
    398     EncodedJSValue JIT_STUB cti_op_resolve_global_dynamic(STUB_ARGS_DECLARATION);
    399     EncodedJSValue JIT_STUB cti_op_resolve_skip(STUB_ARGS_DECLARATION);
    400     EncodedJSValue JIT_STUB cti_op_resolve_with_base(STUB_ARGS_DECLARATION);
    401     EncodedJSValue JIT_STUB cti_op_resolve_with_this(STUB_ARGS_DECLARATION);
    402     EncodedJSValue JIT_STUB cti_op_rshift(STUB_ARGS_DECLARATION);
    403     EncodedJSValue JIT_STUB cti_op_strcat(STUB_ARGS_DECLARATION);
    404     EncodedJSValue JIT_STUB cti_op_stricteq(STUB_ARGS_DECLARATION);
    405     EncodedJSValue JIT_STUB cti_op_sub(STUB_ARGS_DECLARATION);
    406     EncodedJSValue JIT_STUB cti_op_to_jsnumber(STUB_ARGS_DECLARATION);
    407     EncodedJSValue JIT_STUB cti_op_to_primitive(STUB_ARGS_DECLARATION);
    408     EncodedJSValue JIT_STUB cti_op_typeof(STUB_ARGS_DECLARATION);
    409     EncodedJSValue JIT_STUB cti_op_urshift(STUB_ARGS_DECLARATION);
    410     EncodedJSValue JIT_STUB cti_to_object(STUB_ARGS_DECLARATION);
    411     JSObject* JIT_STUB cti_op_new_array(STUB_ARGS_DECLARATION);
    412     JSObject* JIT_STUB cti_op_new_array_buffer(STUB_ARGS_DECLARATION);
    413     JSObject* JIT_STUB cti_op_new_func(STUB_ARGS_DECLARATION);
    414     JSObject* JIT_STUB cti_op_new_func_exp(STUB_ARGS_DECLARATION);
    415     JSObject* JIT_STUB cti_op_new_object(STUB_ARGS_DECLARATION);
    416     JSObject* JIT_STUB cti_op_new_regexp(STUB_ARGS_DECLARATION);
    417     JSObject* JIT_STUB cti_op_push_activation(STUB_ARGS_DECLARATION);
    418     JSObject* JIT_STUB cti_op_push_new_scope(STUB_ARGS_DECLARATION);
    419     JSObject* JIT_STUB cti_op_push_scope(STUB_ARGS_DECLARATION);
    420     JSObject* JIT_STUB cti_op_put_by_id_transition_realloc(STUB_ARGS_DECLARATION);
    421     JSPropertyNameIterator* JIT_STUB cti_op_get_pnames(STUB_ARGS_DECLARATION);
    422     int JIT_STUB cti_op_eq(STUB_ARGS_DECLARATION);
    423     int JIT_STUB cti_op_eq_strings(STUB_ARGS_DECLARATION);
    424     int JIT_STUB cti_op_jless(STUB_ARGS_DECLARATION);
    425     int JIT_STUB cti_op_jlesseq(STUB_ARGS_DECLARATION);
    426     int JIT_STUB cti_op_jgreater(STUB_ARGS_DECLARATION);
    427     int JIT_STUB cti_op_jgreatereq(STUB_ARGS_DECLARATION);
    428     int JIT_STUB cti_op_jtrue(STUB_ARGS_DECLARATION);
    429     void* JIT_STUB cti_op_load_varargs(STUB_ARGS_DECLARATION);
    430     int JIT_STUB cti_timeout_check(STUB_ARGS_DECLARATION);
    431     int JIT_STUB cti_has_property(STUB_ARGS_DECLARATION);
    432     void JIT_STUB cti_op_check_has_instance(STUB_ARGS_DECLARATION);
    433     void JIT_STUB cti_op_debug(STUB_ARGS_DECLARATION);
    434     void JIT_STUB cti_op_end(STUB_ARGS_DECLARATION);
    435     void JIT_STUB cti_op_jmp_scopes(STUB_ARGS_DECLARATION);
    436     void JIT_STUB cti_op_pop_scope(STUB_ARGS_DECLARATION);
    437     void JIT_STUB cti_op_profile_did_call(STUB_ARGS_DECLARATION);
    438     void JIT_STUB cti_op_profile_will_call(STUB_ARGS_DECLARATION);
    439     void JIT_STUB cti_op_put_by_id(STUB_ARGS_DECLARATION);
    440     void JIT_STUB cti_op_put_by_id_fail(STUB_ARGS_DECLARATION);
    441     void JIT_STUB cti_op_put_by_id_generic(STUB_ARGS_DECLARATION);
    442     void JIT_STUB cti_op_put_by_id_direct(STUB_ARGS_DECLARATION);
    443     void JIT_STUB cti_op_put_by_id_direct_fail(STUB_ARGS_DECLARATION);
    444     void JIT_STUB cti_op_put_by_id_direct_generic(STUB_ARGS_DECLARATION);
    445     void JIT_STUB cti_op_put_by_index(STUB_ARGS_DECLARATION);
    446     void JIT_STUB cti_op_put_by_val(STUB_ARGS_DECLARATION);
    447     void JIT_STUB cti_op_put_getter_setter(STUB_ARGS_DECLARATION);
    448     void JIT_STUB cti_op_tear_off_activation(STUB_ARGS_DECLARATION);
    449     void JIT_STUB cti_op_tear_off_arguments(STUB_ARGS_DECLARATION);
    450     void JIT_STUB cti_op_throw_reference_error(STUB_ARGS_DECLARATION);
     344    EncodedJSValue JIT_STUB cti_op_add(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     345    EncodedJSValue JIT_STUB cti_op_bitand(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     346    EncodedJSValue JIT_STUB cti_op_bitor(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     347    EncodedJSValue JIT_STUB cti_op_bitxor(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     348    EncodedJSValue JIT_STUB cti_op_call_NotJSFunction(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     349    EncodedJSValue JIT_STUB cti_op_call_eval(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     350    EncodedJSValue JIT_STUB cti_op_construct_NotJSConstruct(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     351    EncodedJSValue JIT_STUB cti_op_create_this(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     352    EncodedJSValue JIT_STUB cti_op_convert_this(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     353    EncodedJSValue JIT_STUB cti_op_create_arguments(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     354    EncodedJSValue JIT_STUB cti_op_del_by_id(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     355    EncodedJSValue JIT_STUB cti_op_del_by_val(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     356    EncodedJSValue JIT_STUB cti_op_div(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     357    EncodedJSValue JIT_STUB cti_op_get_by_id(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     358    EncodedJSValue JIT_STUB cti_op_get_by_id_array_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     359    EncodedJSValue JIT_STUB cti_op_get_by_id_custom_stub(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     360    EncodedJSValue JIT_STUB cti_op_get_by_id_generic(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     361    EncodedJSValue JIT_STUB cti_op_get_by_id_getter_stub(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     362    EncodedJSValue JIT_STUB cti_op_get_by_id_method_check(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     363    EncodedJSValue JIT_STUB cti_op_get_by_id_method_check_update(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     364    EncodedJSValue JIT_STUB cti_op_get_by_id_proto_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     365    EncodedJSValue JIT_STUB cti_op_get_by_id_proto_list(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     366    EncodedJSValue JIT_STUB cti_op_get_by_id_proto_list_full(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     367    EncodedJSValue JIT_STUB cti_op_get_by_id_self_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     368    EncodedJSValue JIT_STUB cti_op_get_by_id_string_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     369    EncodedJSValue JIT_STUB cti_op_get_by_val(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     370    EncodedJSValue JIT_STUB cti_op_get_by_val_string(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     371    EncodedJSValue JIT_STUB cti_op_in(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     372    EncodedJSValue JIT_STUB cti_op_instanceof(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     373    EncodedJSValue JIT_STUB cti_op_is_boolean(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     374    EncodedJSValue JIT_STUB cti_op_is_function(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     375    EncodedJSValue JIT_STUB cti_op_is_number(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     376    EncodedJSValue JIT_STUB cti_op_is_object(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     377    EncodedJSValue JIT_STUB cti_op_is_string(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     378    EncodedJSValue JIT_STUB cti_op_is_undefined(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     379    EncodedJSValue JIT_STUB cti_op_less(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     380    EncodedJSValue JIT_STUB cti_op_lesseq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     381    EncodedJSValue JIT_STUB cti_op_greater(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     382    EncodedJSValue JIT_STUB cti_op_greatereq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     383    EncodedJSValue JIT_STUB cti_op_lshift(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     384    EncodedJSValue JIT_STUB cti_op_mod(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     385    EncodedJSValue JIT_STUB cti_op_mul(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     386    EncodedJSValue JIT_STUB cti_op_negate(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     387    EncodedJSValue JIT_STUB cti_op_not(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     388    EncodedJSValue JIT_STUB cti_op_nstricteq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     389    EncodedJSValue JIT_STUB cti_op_post_dec(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     390    EncodedJSValue JIT_STUB cti_op_post_inc(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     391    EncodedJSValue JIT_STUB cti_op_pre_dec(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     392    EncodedJSValue JIT_STUB cti_op_pre_inc(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     393    EncodedJSValue JIT_STUB cti_op_resolve(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     394    EncodedJSValue JIT_STUB cti_op_resolve_base(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     395    EncodedJSValue JIT_STUB cti_op_resolve_base_strict_put(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     396    EncodedJSValue JIT_STUB cti_op_ensure_property_exists(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     397    EncodedJSValue JIT_STUB cti_op_resolve_global(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     398    EncodedJSValue JIT_STUB cti_op_resolve_global_dynamic(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     399    EncodedJSValue JIT_STUB cti_op_resolve_skip(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     400    EncodedJSValue JIT_STUB cti_op_resolve_with_base(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     401    EncodedJSValue JIT_STUB cti_op_resolve_with_this(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     402    EncodedJSValue JIT_STUB cti_op_rshift(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     403    EncodedJSValue JIT_STUB cti_op_strcat(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     404    EncodedJSValue JIT_STUB cti_op_stricteq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     405    EncodedJSValue JIT_STUB cti_op_sub(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     406    EncodedJSValue JIT_STUB cti_op_to_jsnumber(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     407    EncodedJSValue JIT_STUB cti_op_to_primitive(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     408    EncodedJSValue JIT_STUB cti_op_typeof(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     409    EncodedJSValue JIT_STUB cti_op_urshift(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     410    EncodedJSValue JIT_STUB cti_to_object(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     411    JSObject* JIT_STUB cti_op_new_array(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     412    JSObject* JIT_STUB cti_op_new_array_buffer(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     413    JSObject* JIT_STUB cti_op_new_func(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     414    JSObject* JIT_STUB cti_op_new_func_exp(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     415    JSObject* JIT_STUB cti_op_new_object(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     416    JSObject* JIT_STUB cti_op_new_regexp(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     417    JSObject* JIT_STUB cti_op_push_activation(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     418    JSObject* JIT_STUB cti_op_push_new_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     419    JSObject* JIT_STUB cti_op_push_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     420    JSObject* JIT_STUB cti_op_put_by_id_transition_realloc(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     421    JSPropertyNameIterator* JIT_STUB cti_op_get_pnames(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     422    int JIT_STUB cti_op_eq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     423    int JIT_STUB cti_op_eq_strings(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     424    int JIT_STUB cti_op_jless(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     425    int JIT_STUB cti_op_jlesseq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     426    int JIT_STUB cti_op_jgreater(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     427    int JIT_STUB cti_op_jgreatereq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     428    int JIT_STUB cti_op_jtrue(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     429    void* JIT_STUB cti_op_load_varargs(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     430    int JIT_STUB cti_timeout_check(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     431    int JIT_STUB cti_has_property(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     432    void JIT_STUB cti_op_check_has_instance(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     433    void JIT_STUB cti_op_debug(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     434    void JIT_STUB cti_op_end(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     435    void JIT_STUB cti_op_jmp_scopes(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     436    void JIT_STUB cti_op_pop_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     437    void JIT_STUB cti_op_profile_did_call(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     438    void JIT_STUB cti_op_profile_will_call(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     439    void JIT_STUB cti_op_put_by_id(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     440    void JIT_STUB cti_op_put_by_id_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     441    void JIT_STUB cti_op_put_by_id_generic(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     442    void JIT_STUB cti_op_put_by_id_direct(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     443    void JIT_STUB cti_op_put_by_id_direct_fail(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     444    void JIT_STUB cti_op_put_by_id_direct_generic(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     445    void JIT_STUB cti_op_put_by_index(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     446    void JIT_STUB cti_op_put_by_val(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     447    void JIT_STUB cti_op_put_getter_setter(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     448    void JIT_STUB cti_op_tear_off_activation(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     449    void JIT_STUB cti_op_tear_off_arguments(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     450    void JIT_STUB cti_op_throw_reference_error(STUB_ARGS_DECLARATION) WTF_INTERNAL;
    451451#if ENABLE(DFG_JIT)
    452     void JIT_STUB cti_optimize_from_loop(STUB_ARGS_DECLARATION);
    453     void JIT_STUB cti_optimize_from_ret(STUB_ARGS_DECLARATION);
    454 #endif
    455     void* JIT_STUB cti_op_call_arityCheck(STUB_ARGS_DECLARATION);
    456     void* JIT_STUB cti_op_construct_arityCheck(STUB_ARGS_DECLARATION);
    457     void* JIT_STUB cti_op_call_jitCompile(STUB_ARGS_DECLARATION);
    458     void* JIT_STUB cti_op_construct_jitCompile(STUB_ARGS_DECLARATION);
    459     void* JIT_STUB cti_op_switch_char(STUB_ARGS_DECLARATION);
    460     void* JIT_STUB cti_op_switch_imm(STUB_ARGS_DECLARATION);
    461     void* JIT_STUB cti_op_switch_string(STUB_ARGS_DECLARATION);
    462     void* JIT_STUB cti_op_throw(STUB_ARGS_DECLARATION);
    463     void* JIT_STUB cti_register_file_check(STUB_ARGS_DECLARATION);
    464     void* JIT_STUB cti_vm_lazyLinkCall(STUB_ARGS_DECLARATION);
    465     void* JIT_STUB cti_vm_lazyLinkConstruct(STUB_ARGS_DECLARATION);
    466     void* JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION) REFERENCED_FROM_ASM;
     452    void JIT_STUB cti_optimize_from_loop(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     453    void JIT_STUB cti_optimize_from_ret(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     454#endif
     455    void* JIT_STUB cti_op_call_arityCheck(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     456    void* JIT_STUB cti_op_construct_arityCheck(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     457    void* JIT_STUB cti_op_call_jitCompile(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     458    void* JIT_STUB cti_op_construct_jitCompile(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     459    void* JIT_STUB cti_op_switch_char(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     460    void* JIT_STUB cti_op_switch_imm(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     461    void* JIT_STUB cti_op_switch_string(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     462    void* JIT_STUB cti_op_throw(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     463    void* JIT_STUB cti_register_file_check(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     464    void* JIT_STUB cti_vm_lazyLinkCall(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     465    void* JIT_STUB cti_vm_lazyLinkConstruct(STUB_ARGS_DECLARATION) WTF_INTERNAL;
     466    void* JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION) REFERENCED_FROM_ASM WTF_INTERNAL;
    467467} // extern "C"
    468468
Note: See TracChangeset for help on using the changeset viewer.