Bug 122287
Summary: | Transition JITStubs functions to CCallHelper functions | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Saboff <msaboff> |
Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | fpizlo, ggaren, mark.lam |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | 122288, 122289, 122306, 122453, 122460, 122563, 122617, 122645, 122757, 122758, 122903, 122925 | ||
Bug Blocks: | 121756 |
Michael Saboff
As part of our rolling over to C stack, we need to eliminate JITStubCall due to its reliance on JITStackFrame. The JITStubs should be eliminated or converted to functions called using CCallHelpers.
-- Unused --
cti_op_is_boolean
cti_op_is_number
cti_op_is_string
cti_op_is_undefined
cti_op_resolve
cti_op_resolve_base
cti_op_resolve_base_strict_put
cti_op_resolve_with_base
cti_op_resolve_with_this
cti_op_put_to_base
cti_op_end
-- Cached related functions --
cti_op_get_by_id_getter_stub
cti_op_get_by_id
cti_op_get_by_id_array_fail
cti_op_get_by_id_custom_stub
cti_op_get_by_id_generic
cti_op_get_by_id_proto_fail
cti_op_get_by_id_proto_list
cti_op_get_by_id_proto_list_full
cti_op_get_by_id_self_fail
cti_op_get_by_id_string_fail
cti_op_get_by_val
cti_op_get_by_val_generic
cti_op_get_by_val_string
cti_op_put_by_id_transition_realloc
cti_op_put_by_id
cti_op_put_by_id_fail
cti_op_put_by_id_generic
cti_op_put_by_id_direct
cti_op_put_by_id_direct_fail
cti_op_put_by_id_direct_generic
cti_op_put_by_val
cti_op_put_by_val_generic
-- Other functions --
cti_stack_check
cti_op_call_arityCheck
cti_op_construct_arityCheck
cti_op_call_NotJSFunction
cti_op_call_eval
cti_op_construct_NotJSConstruct
cti_op_check_has_instance
cti_op_create_arguments
cti_op_del_by_id
cti_op_instanceof
cti_to_object
cti_op_new_array
cti_op_new_array_with_size
cti_op_new_array_buffer
cti_op_new_func
cti_op_new_func_exp
cti_op_new_object
cti_op_new_regexp
cti_op_push_activation
cti_op_push_name_scope
cti_op_push_with_scope
cti_op_get_pnames
cti_op_eq
cti_op_eq_strings
cti_op_jless
cti_op_jlesseq
cti_op_jgreater
cti_op_jgreatereq
cti_op_jtrue
cti_op_load_varargs
cti_handle_watchdog_timer
cti_has_property
cti_op_debug
cti_op_pop_scope
cti_op_profile_did_call
cti_op_profile_will_call
cti_op_put_by_index
cti_op_put_getter_setter
cti_op_tear_off_activation
cti_op_tear_off_arguments
cti_optimize
cti_op_call_jitCompile
cti_op_construct_jitCompile
cti_op_switch_char
cti_op_switch_imm
cti_op_switch_string
cti_vm_lazyLinkCall
cti_vm_lazyLinkClosureCall
cti_vm_lazyLinkConstruct
cti_op_resolve_scope
cti_op_get_from_scope
cti_op_put_to_scope
cti_vm_handle_exception
cti_vm_throw
cti_op_throw
cti_op_throw_static_error
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Michael Saboff
Current state. Remaining stubs to convert:
In progress and tracked with https://bugs.webkit.org/show_bug.cgi?id=122460
cti_op_new_array
cti_op_new_array_with_size
cti_op_new_array_buffer
cti_op_new_func
cti_op_new_func_exp
cti_op_new_object
In progress and tracked with https://bugs.webkit.org/show_bug.cgi?id=122563:
cti_op_eq
cti_op_eq_strings
cti_op_jless
cti_op_jlesseq
cti_op_jgreater
cti_op_jgreatereq
cti_op_jtrue
cti_has_property
-- Cached related functions --
cti_op_get_by_id_getter_stub
cti_op_get_by_id
cti_op_get_by_id_array_fail
cti_op_get_by_id_custom_stub
cti_op_get_by_id_generic
cti_op_get_by_id_proto_fail
cti_op_get_by_id_proto_list
cti_op_get_by_id_proto_list_full
cti_op_get_by_id_self_fail
cti_op_get_by_id_string_fail
cti_op_get_by_val
cti_op_get_by_val_generic
cti_op_get_by_val_string
cti_op_put_by_id_transition_realloc
cti_op_put_by_id
cti_op_put_by_id_fail
cti_op_put_by_id_generic
cti_op_put_by_id_direct
cti_op_put_by_id_direct_fail
cti_op_put_by_id_direct_generic
cti_op_put_by_val
cti_op_put_by_val_generic
-- Other functions --
cti_op_check_has_instance
cti_op_create_arguments
cti_op_del_by_id
cti_op_instanceof
cti_to_object
cti_op_push_activation
cti_op_push_name_scope
cti_op_push_with_scope
cti_op_get_pnames
cti_op_load_varargs
cti_handle_watchdog_timer
cti_op_debug
cti_op_pop_scope
cti_op_profile_did_call
cti_op_profile_will_call
cti_op_put_by_index
cti_op_put_getter_setter
cti_op_tear_off_activation
cti_op_tear_off_arguments
cti_optimize
cti_op_call_jitCompile
cti_op_construct_jitCompile
cti_op_switch_char
cti_op_switch_imm
cti_op_switch_string
cti_vm_lazyLinkCall
cti_vm_lazyLinkClosureCall
cti_vm_lazyLinkConstruct
cti_op_resolve_scope
cti_op_get_from_scope
cti_op_put_to_scope
cti_vm_handle_exception
cti_vm_throw
cti_op_throw
cti_op_throw_static_error
Michael Saboff
Transitioning the following - tracked by https://bugs.webkit.org/show_bug.cgi?id=122617
cti_handle_watchdog_timer
cti_op_debug
cti_op_pop_scope
cti_op_profile_did_call
cti_op_profile_will_call
cti_op_put_by_index
cti_op_put_getter_setter
cti_op_tear_off_activation
cti_op_tear_off_arguments
cti_op_throw_static_error
cti_optimize
Mark Lam
Working on these next - tracked in https://bugs.webkit.org/show_bug.cgi?id=122645
cti_op_check_has_instance
cti_op_create_arguments
cti_op_del_by_id
cti_op_instanceof
cti_to_object
cti_op_push_activation
cti_op_push_name_scope
cti_op_push_with_scope
cti_op_get_pnames
cti_op_load_varargs
Mark Lam
https://bugs.webkit.org/show_bug.cgi?id=122757
Transitioning:
cti_op_switch_char
cti_op_switch_imm
cti_op_switch_string
cti_op_resolve_scope
cti_op_get_from_scope
cti_op_put_to_scope
Mark Lam
Michael will handle these in https://bugs.webkit.org/show_bug.cgi?id=122758:
cti_vm_handle_exception
cti_vm_throw
cti_op_throw
Mark Lam
https://bugs.webkit.org/show_bug.cgi?id=122925
Transition:
cti_op_get_by_id_generic
cti_op_get_by_val
cti_op_get_by_val_generic
cti_op_get_by_val_string
Michael Saboff
All stubs have been transitioned. Closing.