#include <methodIterator.hpp>
Inheritance diagram for MethodIterator:
Public Member Functions | |
MethodIterator (methodOop m, MethodClosure *blk, AbstractMethodIntervalFactory *f=&defaultFactory) | |
MethodIterator (MethodInterval *interval, MethodClosure *blk, AbstractMethodIntervalFactory *f=&defaultFactory) | |
MethodInterval * | interval () const |
Static Public Attributes | |
static AbstractMethodIntervalFactory * | factory |
Private Member Functions | |
void | dispatch (MethodClosure *blk) |
void | unknown_code (u_char code) |
void | should_never_encounter (u_char code) |
Private Attributes | |
MethodInterval * | _interval |
Static Private Attributes | |
static MethodIntervalFactory | defaultFactory |
Definition at line 484 of file methodIterator.hpp.
MethodIterator::MethodIterator | ( | methodOop | m, | |
MethodClosure * | blk, | |||
AbstractMethodIntervalFactory * | f = &defaultFactory | |||
) |
Definition at line 1178 of file methodIterator.cpp.
References _interval, dispatch(), factory, and AbstractMethodIntervalFactory::new_MethodInterval().
Here is the call graph for this function:
MethodIterator::MethodIterator | ( | MethodInterval * | interval, | |
MethodClosure * | blk, | |||
AbstractMethodIntervalFactory * | f = &defaultFactory | |||
) |
Definition at line 1185 of file methodIterator.cpp.
References _interval, dispatch(), factory, and interval().
Here is the call graph for this function:
void MethodIterator::dispatch | ( | MethodClosure * | blk | ) | [private] |
Definition at line 325 of file methodIterator.cpp.
References _interval, MethodClosure::aborting(), Bytecodes::access_send_0, Bytecodes::access_send_self, MethodClosure::allocate_closure(), MethodClosure::allocate_context(), Bytecodes::allocate_temp_1, Bytecodes::allocate_temp_2, Bytecodes::allocate_temp_3, Bytecodes::allocate_temp_n, MethodClosure::allocate_temporaries(), Bytecodes::and_byte, Bytecodes::and_word, as_smiOop(), assert, MethodInterval::begin_bci(), Bytecodes::compiled_send_0, Bytecodes::compiled_send_0_pop, Bytecodes::compiled_send_1, Bytecodes::compiled_send_1_pop, Bytecodes::compiled_send_2, Bytecodes::compiled_send_2_pop, Bytecodes::compiled_send_n, Bytecodes::compiled_send_n_pop, Bytecodes::compiled_send_self, Bytecodes::compiled_send_self_pop, Bytecodes::compiled_send_super, Bytecodes::compiled_send_super_pop, MethodClosure::cond_node(), context_as_scope, Bytecodes::copy_1_into_context, Bytecodes::copy_2_into_context, MethodClosure::copy_argument_into_context(), Bytecodes::copy_n_into_context, Bytecodes::copy_self_1_into_context, Bytecodes::copy_self_2_into_context, MethodClosure::copy_self_into_context(), Bytecodes::copy_self_into_context, Bytecodes::copy_self_n_into_context, Bytecodes::dll_call_async, MethodClosure::dll_call_node(), Bytecodes::dll_call_sync, MethodClosure::double_equal(), Bytecodes::double_equal, MethodClosure::double_not_equal(), Bytecodes::double_tilde, MethodInterval::end_bci(), factory, falseObj, MethodClosure::float_allocate(), Bytecodes::float_allocate, MethodClosure::float_at(), MethodClosure::float_binary(), Bytecodes::float_binary_op, Bytecodes::float_binary_op_to_oop, MethodClosure::float_binaryToOop(), MethodClosure::float_floatify(), Bytecodes::float_floatify_pop, MethodClosure::float_move(), Bytecodes::float_move, MethodClosure::float_nullary(), Bytecodes::float_nullary_op, MethodClosure::float_set(), Bytecodes::float_set, MethodClosure::float_unary(), Bytecodes::float_unary_op, Bytecodes::float_unary_op_to_oop, MethodClosure::float_unaryToOop(), Floats::floatify, Bytecodes::halt, primitive_desc::has_receiver(), MethodClosure::if_node(), Bytecodes::ifFalse_byte, Bytecodes::ifFalse_word, Bytecodes::ifTrue_byte, Bytecodes::ifTrue_word, MethodInterval::in_prim_failure_block(), MethodClosure::in_prim_failure_block(), Bytecodes::install_new_context_block_1, Bytecodes::install_new_context_block_2, Bytecodes::install_new_context_block_n, Bytecodes::install_new_context_method_0, Bytecodes::install_new_context_method_1, Bytecodes::install_new_context_method_2, Bytecodes::install_new_context_method_n, Bytecodes::interpreted_send_0, Bytecodes::interpreted_send_0_pop, Bytecodes::interpreted_send_1, Bytecodes::interpreted_send_1_pop, Bytecodes::interpreted_send_2, Bytecodes::interpreted_send_2_pop, Bytecodes::interpreted_send_n, Bytecodes::interpreted_send_n_pop, Bytecodes::interpreted_send_self, Bytecodes::interpreted_send_self_pop, Bytecodes::interpreted_send_super, Bytecodes::interpreted_send_super_pop, oopDesc::is_association(), oopDesc::is_smi(), oopDesc::is_symbol(), Bytecodes::jump_else_byte, Bytecodes::jump_else_word, Bytecodes::jump_loop_byte, Bytecodes::jump_loop_word, primitives::lookup(), map0to256(), Bytecodes::megamorphic_send_0, Bytecodes::megamorphic_send_0_pop, Bytecodes::megamorphic_send_1, Bytecodes::megamorphic_send_1_pop, Bytecodes::megamorphic_send_2, Bytecodes::megamorphic_send_2_pop, Bytecodes::megamorphic_send_n, Bytecodes::megamorphic_send_n_pop, Bytecodes::megamorphic_send_self, Bytecodes::megamorphic_send_self_pop, Bytecodes::megamorphic_send_super, Bytecodes::megamorphic_send_super_pop, MethodInterval::method(), MethodClosure::method_return(), AbstractMethodIntervalFactory::new_AndNode(), AbstractMethodIntervalFactory::new_DLLCallNode(), AbstractMethodIntervalFactory::new_IfNode(), AbstractMethodIntervalFactory::new_OrNode(), AbstractMethodIntervalFactory::new_PrimitiveCallNode(), AbstractMethodIntervalFactory::new_WhileNode(), nilObj, Bytecodes::non_local_return_self_pop_n, Bytecodes::non_local_return_tos_pop_n, MethodClosure::nonlocal_return(), MethodClosure::normal_send(), methodOopDesc::number_of_arguments(), Bytecodes::objArray_at, Bytecodes::objArray_at_put, Bytecodes::only_pop, oopSize, Bytecodes::or_byte, Bytecodes::or_word, Bytecodes::polymorphic_send_0, Bytecodes::polymorphic_send_0_pop, Bytecodes::polymorphic_send_1, Bytecodes::polymorphic_send_1_pop, Bytecodes::polymorphic_send_2, Bytecodes::polymorphic_send_2_pop, Bytecodes::polymorphic_send_n, Bytecodes::polymorphic_send_n_pop, Bytecodes::polymorphic_send_self, Bytecodes::polymorphic_send_self_pop, Bytecodes::polymorphic_send_super, Bytecodes::polymorphic_send_super_pop, MethodClosure::pop(), MethodClosure::predict_prim_call(), Bytecodes::predict_prim_call, Bytecodes::predict_prim_call_failure, Bytecodes::predict_prim_call_failure_lookup, Bytecodes::predict_prim_call_lookup, Bytecodes::prim_call, Bytecodes::prim_call_failure, Bytecodes::prim_call_failure_lookup, Bytecodes::prim_call_lookup, Bytecodes::prim_call_self, Bytecodes::prim_call_self_failure, Bytecodes::prim_call_self_failure_lookup, Bytecodes::prim_call_self_lookup, MethodClosure::primitive_call_node(), Bytecodes::primitive_send_0, Bytecodes::primitive_send_0_pop, Bytecodes::primitive_send_1, Bytecodes::primitive_send_1_pop, Bytecodes::primitive_send_2, Bytecodes::primitive_send_2_pop, Bytecodes::primitive_send_n, Bytecodes::primitive_send_n_pop, Bytecodes::primitive_send_self, Bytecodes::primitive_send_self_pop, Bytecodes::primitive_send_super, Bytecodes::primitive_send_super_pop, Bytecodes::push_arg_1, Bytecodes::push_arg_2, Bytecodes::push_arg_3, Bytecodes::push_arg_n, MethodClosure::push_argument(), MethodClosure::push_classVar(), Bytecodes::push_classVar, MethodClosure::push_classVar_name(), Bytecodes::push_classVar_name, Bytecodes::push_false, MethodClosure::push_global(), Bytecodes::push_global, Bytecodes::push_instVar, MethodClosure::push_instVar(), Bytecodes::push_instVar_name, MethodClosure::push_instVar_name(), Bytecodes::push_literal, MethodClosure::push_literal(), Bytecodes::push_neg_n, Bytecodes::push_new_closure_context_0, Bytecodes::push_new_closure_context_1, Bytecodes::push_new_closure_context_2, Bytecodes::push_new_closure_context_n, Bytecodes::push_new_closure_tos_0, Bytecodes::push_new_closure_tos_1, Bytecodes::push_new_closure_tos_2, Bytecodes::push_new_closure_tos_n, Bytecodes::push_nil, MethodClosure::push_self(), Bytecodes::push_self, Bytecodes::push_succ_n, Bytecodes::push_temp_0, Bytecodes::push_temp_0_context_0, Bytecodes::push_temp_0_context_1, Bytecodes::push_temp_0_context_n, Bytecodes::push_temp_1, Bytecodes::push_temp_1_context_0, Bytecodes::push_temp_1_context_1, Bytecodes::push_temp_1_context_n, Bytecodes::push_temp_2, Bytecodes::push_temp_2_context_0, Bytecodes::push_temp_2_context_1, Bytecodes::push_temp_2_context_n, Bytecodes::push_temp_3, Bytecodes::push_temp_4, Bytecodes::push_temp_5, Bytecodes::push_temp_n, Bytecodes::push_temp_n_context_0, Bytecodes::push_temp_n_context_1, Bytecodes::push_temp_n_context_n, MethodClosure::push_temporary(), MethodClosure::push_tos(), Bytecodes::push_tos, Bytecodes::push_true, Bytecodes::return_instVar, Bytecodes::return_instVar_name, Bytecodes::return_self_pop_0, Bytecodes::return_self_pop_1, Bytecodes::return_self_pop_2, Bytecodes::return_self_pop_n, Bytecodes::return_self_zap_pop_n, Bytecodes::return_tos_pop_0, Bytecodes::return_tos_pop_1, Bytecodes::return_tos_pop_2, Bytecodes::return_tos_pop_n, Bytecodes::return_tos_zap_pop_n, MethodClosure::self_send(), MethodClosure::set_bci(), MethodClosure::set_method(), MethodClosure::set_next_bci(), MethodClosure::set_prim_failure(), MethodClosure::set_self_via_context(), Bytecodes::set_self_via_context, should_never_encounter(), ShouldNotReachHere, Bytecodes::smi_add, Bytecodes::smi_and, Bytecodes::smi_create_point, Bytecodes::smi_div, Bytecodes::smi_equal, Bytecodes::smi_greater, Bytecodes::smi_greater_equal, Bytecodes::smi_less, Bytecodes::smi_less_equal, Bytecodes::smi_mod, Bytecodes::smi_mult, Bytecodes::smi_not_equal, Bytecodes::smi_or, Bytecodes::smi_shift, Bytecodes::smi_sub, Bytecodes::smi_xor, Bytecodes::special_primitive_send_1_hint, Bytecodes::store_classVar, MethodClosure::store_classVar(), Bytecodes::store_classVar_name, MethodClosure::store_classVar_name(), Bytecodes::store_classVar_pop, Bytecodes::store_classVar_pop_name, Bytecodes::store_global, MethodClosure::store_global(), Bytecodes::store_global_pop, Bytecodes::store_instVar, MethodClosure::store_instVar(), Bytecodes::store_instVar_name, MethodClosure::store_instVar_name(), Bytecodes::store_instVar_pop, Bytecodes::store_instVar_pop_name, Bytecodes::store_temp_0_context_0_pop, Bytecodes::store_temp_0_context_1_pop, Bytecodes::store_temp_0_context_n_pop, Bytecodes::store_temp_0_pop, Bytecodes::store_temp_1_context_0_pop, Bytecodes::store_temp_1_context_1_pop, Bytecodes::store_temp_1_context_n_pop, Bytecodes::store_temp_1_pop, Bytecodes::store_temp_2_context_0_pop, Bytecodes::store_temp_2_context_1_pop, Bytecodes::store_temp_2_context_n_pop, Bytecodes::store_temp_2_pop, Bytecodes::store_temp_3_pop, Bytecodes::store_temp_4_pop, Bytecodes::store_temp_5_pop, Bytecodes::store_temp_n, Bytecodes::store_temp_n_context_0_pop, Bytecodes::store_temp_n_context_1_pop, Bytecodes::store_temp_n_context_n_pop, Bytecodes::store_temp_n_pop, MethodClosure::store_temporary(), MethodClosure::super_send(), tos_as_scope, trueObj, Bytecodes::unimplemented_06, Bytecodes::unimplemented_20, Bytecodes::unimplemented_21, Bytecodes::unimplemented_22, Bytecodes::unimplemented_23, Bytecodes::unimplemented_24, Bytecodes::unimplemented_25, Bytecodes::unimplemented_26, Bytecodes::unimplemented_27, Bytecodes::unimplemented_39, Bytecodes::unimplemented_3a, Bytecodes::unimplemented_3b, Bytecodes::unimplemented_3c, Bytecodes::unimplemented_bc, Bytecodes::unimplemented_c7, Bytecodes::unimplemented_cc, Bytecodes::unimplemented_dc, Bytecodes::unimplemented_de, Bytecodes::unimplemented_df, Bytecodes::unimplemented_fa, Bytecodes::unimplemented_fb, Bytecodes::unimplemented_fc, Bytecodes::unimplemented_fd, Bytecodes::unimplemented_fe, unknown_code(), smiOopDesc::value(), MethodClosure::while_node(), Bytecodes::whileFalse_byte, Bytecodes::whileFalse_word, Bytecodes::whileTrue_byte, Bytecodes::whileTrue_word, and MethodClosure::zap_scope().
Referenced by MethodIterator().
Here is the call graph for this function:
MethodInterval* MethodIterator::interval | ( | ) | const [inline] |
Definition at line 496 of file methodIterator.hpp.
References _interval.
Referenced by MethodIterator().
void MethodIterator::should_never_encounter | ( | u_char | code | ) | [private] |
Definition at line 318 of file methodIterator.cpp.
References fatal, outputStream::print_cr(), and std.
Referenced by dispatch().
Here is the call graph for this function:
void MethodIterator::unknown_code | ( | u_char | code | ) | [private] |
Definition at line 313 of file methodIterator.cpp.
References fatal, outputStream::print_cr(), and std.
Referenced by dispatch().
Here is the call graph for this function:
MethodInterval* MethodIterator::_interval [private] |
Definition at line 489 of file methodIterator.hpp.
Referenced by dispatch(), interval(), and MethodIterator().
MethodIntervalFactory MethodIterator::defaultFactory [static, private] |
Definition at line 490 of file methodIterator.hpp.
Definition at line 492 of file methodIterator.hpp.
Referenced by CondNode::CondNode(), dispatch(), ExternalCallNode::ExternalCallNode(), IfNode::IfNode(), MethodIterator(), and WhileNode::WhileNode().