Mercurial > hg > truffle
comparison src/share/vm/oops/constantPoolOop.hpp @ 2460:ed69575596ac
6981791: remove experimental code for JSR 292
Reviewed-by: twisti
author | jrose |
---|---|
date | Thu, 07 Apr 2011 17:02:30 -0700 |
parents | 38fea01eb669 |
children | 81d815b05abb |
comparison
equal
deleted
inserted
replaced
2459:55973726c600 | 2460:ed69575596ac |
---|---|
242 void invoke_dynamic_at_put(int which, int bootstrap_specifier_index, int name_and_type_index) { | 242 void invoke_dynamic_at_put(int which, int bootstrap_specifier_index, int name_and_type_index) { |
243 tag_at_put(which, JVM_CONSTANT_InvokeDynamic); | 243 tag_at_put(which, JVM_CONSTANT_InvokeDynamic); |
244 *int_at_addr(which) = ((jint) name_and_type_index<<16) | bootstrap_specifier_index; | 244 *int_at_addr(which) = ((jint) name_and_type_index<<16) | bootstrap_specifier_index; |
245 } | 245 } |
246 | 246 |
247 void invoke_dynamic_trans_at_put(int which, int bootstrap_method_index, int name_and_type_index) { | |
248 tag_at_put(which, JVM_CONSTANT_InvokeDynamicTrans); | |
249 *int_at_addr(which) = ((jint) name_and_type_index<<16) | bootstrap_method_index; | |
250 assert(AllowTransitionalJSR292, ""); | |
251 } | |
252 | |
253 // Temporary until actual use | 247 // Temporary until actual use |
254 void unresolved_string_at_put(int which, Symbol* s) { | 248 void unresolved_string_at_put(int which, Symbol* s) { |
255 release_tag_at_put(which, JVM_CONSTANT_UnresolvedString); | 249 release_tag_at_put(which, JVM_CONSTANT_UnresolvedString); |
256 slot_at_put(which, s); | 250 slot_at_put(which, s); |
257 } | 251 } |
568 _indy_argc_offset = 1, // u2 argc | 562 _indy_argc_offset = 1, // u2 argc |
569 _indy_argv_offset = 2 // u2 argv[argc] | 563 _indy_argv_offset = 2 // u2 argv[argc] |
570 }; | 564 }; |
571 int invoke_dynamic_bootstrap_method_ref_index_at(int which) { | 565 int invoke_dynamic_bootstrap_method_ref_index_at(int which) { |
572 assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); | 566 assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); |
573 if (tag_at(which).value() == JVM_CONSTANT_InvokeDynamicTrans) | |
574 return extract_low_short_from_int(*int_at_addr(which)); | |
575 int op_base = invoke_dynamic_operand_base(which); | 567 int op_base = invoke_dynamic_operand_base(which); |
576 return operands()->short_at(op_base + _indy_bsm_offset); | 568 return operands()->short_at(op_base + _indy_bsm_offset); |
577 } | 569 } |
578 int invoke_dynamic_argument_count_at(int which) { | 570 int invoke_dynamic_argument_count_at(int which) { |
579 assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); | 571 assert(tag_at(which).is_invoke_dynamic(), "Corrupted constant pool"); |
580 if (tag_at(which).value() == JVM_CONSTANT_InvokeDynamicTrans) | |
581 return 0; | |
582 int op_base = invoke_dynamic_operand_base(which); | 572 int op_base = invoke_dynamic_operand_base(which); |
583 int argc = operands()->short_at(op_base + _indy_argc_offset); | 573 int argc = operands()->short_at(op_base + _indy_argc_offset); |
584 DEBUG_ONLY(int end_offset = op_base + _indy_argv_offset + argc; | 574 DEBUG_ONLY(int end_offset = op_base + _indy_argv_offset + argc; |
585 int next_offset = invoke_dynamic_operand_limit(which)); | 575 int next_offset = invoke_dynamic_operand_limit(which)); |
586 assert(end_offset == next_offset, "matched ending"); | 576 assert(end_offset == next_offset, "matched ending"); |