< prev index next >

src/share/vm/oops/constantPool.hpp

Print this page

        

*** 543,557 **** int sym = method_type_index_at(which); return symbol_at(sym); } int invoke_dynamic_name_and_type_ref_index_at(int which) { ! assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); return extract_high_short_from_int(*int_at_addr(which)); } int invoke_dynamic_bootstrap_specifier_index(int which) { ! assert(tag_at(which).value() == JVM_CONSTANT_InvokeDynamic, "Corrupted constant pool"); return extract_low_short_from_int(*int_at_addr(which)); } int invoke_dynamic_operand_base(int which) { int bootstrap_specifier_index = invoke_dynamic_bootstrap_specifier_index(which); return operand_offset_at(operands(), bootstrap_specifier_index); --- 543,559 ---- int sym = method_type_index_at(which); return symbol_at(sym); } int invoke_dynamic_name_and_type_ref_index_at(int which) { ! assert(tag_at(which).is_invoke_dynamic() || ! tag_at(which).is_invoke_dynamic_in_error(), "Corrupted constant pool"); return extract_high_short_from_int(*int_at_addr(which)); } int invoke_dynamic_bootstrap_specifier_index(int which) { ! assert(tag_at(which).is_invoke_dynamic() || ! tag_at(which).is_invoke_dynamic_in_error(), "Corrupted constant pool"); return extract_low_short_from_int(*int_at_addr(which)); } int invoke_dynamic_operand_base(int which) { int bootstrap_specifier_index = invoke_dynamic_bootstrap_specifier_index(which); return operand_offset_at(operands(), bootstrap_specifier_index);
*** 645,660 **** // Shrink the operands array to a smaller array with new_len length void shrink_operands(int new_len, TRAPS); int invoke_dynamic_bootstrap_method_ref_index_at(int which) { ! assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); int op_base = invoke_dynamic_operand_base(which); return operands()->at(op_base + _indy_bsm_offset); } int invoke_dynamic_argument_count_at(int which) { ! assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); int op_base = invoke_dynamic_operand_base(which); int argc = operands()->at(op_base + _indy_argc_offset); DEBUG_ONLY(int end_offset = op_base + _indy_argv_offset + argc; int next_offset = invoke_dynamic_operand_limit(which)); assert(end_offset == next_offset, "matched ending"); --- 647,664 ---- // Shrink the operands array to a smaller array with new_len length void shrink_operands(int new_len, TRAPS); int invoke_dynamic_bootstrap_method_ref_index_at(int which) { ! assert(tag_at(which).is_invoke_dynamic() || ! tag_at(which).is_invoke_dynamic_in_error(), "Corrupted constant pool"); int op_base = invoke_dynamic_operand_base(which); return operands()->at(op_base + _indy_bsm_offset); } int invoke_dynamic_argument_count_at(int which) { ! assert(tag_at(which).is_invoke_dynamic() || ! tag_at(which).is_invoke_dynamic_in_error(), "Corrupted constant pool"); int op_base = invoke_dynamic_operand_base(which); int argc = operands()->at(op_base + _indy_argc_offset); DEBUG_ONLY(int end_offset = op_base + _indy_argv_offset + argc; int next_offset = invoke_dynamic_operand_limit(which)); assert(end_offset == next_offset, "matched ending");
*** 851,865 **** static oop resolve_constant_at_impl(const constantPoolHandle& this_cp, int index, int cache_index, TRAPS); static oop resolve_bootstrap_specifier_at_impl(const constantPoolHandle& this_cp, int index, TRAPS); // Exception handling - static void throw_resolution_error(const constantPoolHandle& this_cp, int which, TRAPS); static Symbol* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception); - static void save_and_throw_exception(const constantPoolHandle& this_cp, int which, constantTag tag, TRAPS); public: // Merging ConstantPool* support: bool compare_entry_to(int index1, const constantPoolHandle& cp2, int index2, TRAPS); void copy_cp_to(int start_i, int end_i, const constantPoolHandle& to_cp, int to_i, TRAPS) { constantPoolHandle h_this(THREAD, this); copy_cp_to_impl(h_this, start_i, end_i, to_cp, to_i, THREAD); --- 855,871 ---- static oop resolve_constant_at_impl(const constantPoolHandle& this_cp, int index, int cache_index, TRAPS); static oop resolve_bootstrap_specifier_at_impl(const constantPoolHandle& this_cp, int index, TRAPS); // Exception handling static Symbol* exception_message(const constantPoolHandle& this_cp, int which, constantTag tag, oop pending_exception); public: + // Exception handling + static void throw_resolution_error(const constantPoolHandle& this_cp, int which, TRAPS); + static void save_and_throw_exception(const constantPoolHandle& this_cp, int which, constantTag tag, TRAPS); + // Merging ConstantPool* support: bool compare_entry_to(int index1, const constantPoolHandle& cp2, int index2, TRAPS); void copy_cp_to(int start_i, int end_i, const constantPoolHandle& to_cp, int to_i, TRAPS) { constantPoolHandle h_this(THREAD, this); copy_cp_to_impl(h_this, start_i, end_i, to_cp, to_i, THREAD);
< prev index next >