Mercurial > hg > graal-compiler
diff src/share/vm/prims/methodHandles.hpp @ 4137:04b9a2566eec
Merge with hsx23/hotspot.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 17 Dec 2011 21:40:27 +0100 |
parents | 393f4b789fd0 |
children | 15d394228cfa |
line wrap: on
line diff
--- a/src/share/vm/prims/methodHandles.hpp Sat Dec 17 20:50:09 2011 +0100 +++ b/src/share/vm/prims/methodHandles.hpp Sat Dec 17 21:40:27 2011 +0100 @@ -187,6 +187,8 @@ _adapter_opt_fold_FIRST = _adapter_opt_fold_ref, _adapter_opt_fold_LAST = _adapter_opt_fold_5_ref, + _adapter_opt_profiling, + _EK_LIMIT, _EK_FIRST = 0 }; @@ -266,6 +268,8 @@ return _adapter_fold_args; if (ek >= _adapter_opt_return_FIRST && ek <= _adapter_opt_return_LAST) return _adapter_opt_return_any; + if (ek == _adapter_opt_profiling) + return _adapter_retype_only; assert(false, "oob"); return _EK_LIMIT; } @@ -511,11 +515,12 @@ } // Here is the transformation the i2i adapter must perform: static int truncate_subword_from_vminfo(jint value, int vminfo) { - jint tem = value << vminfo; + int shift = vminfo & ~CONV_VMINFO_SIGN_FLAG; + jint tem = value << shift; if ((vminfo & CONV_VMINFO_SIGN_FLAG) != 0) { - return (jint)tem >> vminfo; + return (jint)tem >> shift; } else { - return (juint)tem >> vminfo; + return (juint)tem >> shift; } } @@ -582,6 +587,7 @@ GC_JVM_STACK_MOVE_UNIT = 1, GC_CONV_OP_IMPLEMENTED_MASK = 2, GC_OP_ROT_ARGS_DOWN_LIMIT_BIAS = 3, + GC_COUNT_GWT = 4, // format of result from getTarget / encode_target: ETF_HANDLE_OR_METHOD_NAME = 0, // all available data (immediate MH or method)