comparison src/share/vm/utilities/constantTag.hpp @ 1660:083fde3b838e

6964498: JSR 292 invokedynamic sites need local bootstrap methods Summary: Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs. Reviewed-by: twisti
author jrose
date Thu, 15 Jul 2010 18:40:45 -0700
parents 136b78722a08
children 3b2dea75431e
comparison
equal deleted inserted replaced
1649:a528509c992b 1660:083fde3b838e
78 bool is_field_or_method() const { return is_field() || is_method() || is_interface_method(); } 78 bool is_field_or_method() const { return is_field() || is_method() || is_interface_method(); }
79 bool is_symbol() const { return is_utf8(); } 79 bool is_symbol() const { return is_utf8(); }
80 80
81 bool is_method_type() const { return _tag == JVM_CONSTANT_MethodType; } 81 bool is_method_type() const { return _tag == JVM_CONSTANT_MethodType; }
82 bool is_method_handle() const { return _tag == JVM_CONSTANT_MethodHandle; } 82 bool is_method_handle() const { return _tag == JVM_CONSTANT_MethodHandle; }
83 bool is_invoke_dynamic() const { return _tag == JVM_CONSTANT_InvokeDynamic; }
83 84
84 constantTag() { 85 constantTag() {
85 _tag = JVM_CONSTANT_Invalid; 86 _tag = JVM_CONSTANT_Invalid;
86 } 87 }
87 constantTag(jbyte tag) { 88 constantTag(jbyte tag) {
88 assert((tag >= 0 && tag <= JVM_CONSTANT_NameAndType) || 89 assert((tag >= 0 && tag <= JVM_CONSTANT_NameAndType) ||
89 (tag >= JVM_CONSTANT_MethodHandle && tag <= JVM_CONSTANT_MethodType) || 90 (tag >= JVM_CONSTANT_MethodHandle && tag <= JVM_CONSTANT_InvokeDynamic) ||
90 (tag >= JVM_CONSTANT_InternalMin && tag <= JVM_CONSTANT_InternalMax), "Invalid constant tag"); 91 (tag >= JVM_CONSTANT_InternalMin && tag <= JVM_CONSTANT_InternalMax), "Invalid constant tag");
91 _tag = tag; 92 _tag = tag;
92 } 93 }
93 94
94 jbyte value() { return _tag; } 95 jbyte value() { return _tag; }