Mercurial > hg > truffle
comparison src/share/vm/prims/jvm.cpp @ 7983:24a91505f9d5
8006949: Update hotspot for MethodParameters format change
8006907: Hotspot should reject classfiles with multiple MethodParameters attributes
Summary: Update to Hotspot's processing of MethodParameters attributes in classfiles
Reviewed-by: coleenp, jrose
author | emc |
---|---|
date | Mon, 04 Feb 2013 13:05:32 -0500 |
parents | 815957d0203e |
children | 41d73c9b30a8 |
comparison
equal
deleted
inserted
replaced
7981:ce5467120c84 | 7983:24a91505f9d5 |
---|---|
1618 for (int i = 0; i < num_params; i++) { | 1618 for (int i = 0; i < num_params; i++) { |
1619 MethodParametersElement* params = mh->method_parameters_start(); | 1619 MethodParametersElement* params = mh->method_parameters_start(); |
1620 // For a 0 index, give a NULL symbol | 1620 // For a 0 index, give a NULL symbol |
1621 Symbol* const sym = 0 != params[i].name_cp_index ? | 1621 Symbol* const sym = 0 != params[i].name_cp_index ? |
1622 mh->constants()->symbol_at(params[i].name_cp_index) : NULL; | 1622 mh->constants()->symbol_at(params[i].name_cp_index) : NULL; |
1623 int flags = build_int_from_shorts(params[i].flags_lo, params[i].flags_hi); | 1623 int flags = params[i].flags; |
1624 oop param = Reflection::new_parameter(reflected_method, i, sym, | 1624 oop param = Reflection::new_parameter(reflected_method, i, sym, |
1625 flags, CHECK_NULL); | 1625 flags, CHECK_NULL); |
1626 result->obj_at_put(i, param); | 1626 result->obj_at_put(i, param); |
1627 } | 1627 } |
1628 return (jobjectArray)JNIHandles::make_local(env, result()); | 1628 return (jobjectArray)JNIHandles::make_local(env, result()); |