8146518: Zero interpreter broken with better byte behaviours

Replaced Method::_result_type_index with Method::_result_type for better byte behaviours should be used for Zero also.

Reviewed-by: roland, kvn, bdelsart, kevinw
This commit is contained in:
Coleen Phillimore 2016-01-07 13:59:49 -05:00
parent 200784d505
commit 46cb32012a
4 changed files with 5 additions and 29 deletions

View file

@ -69,9 +69,6 @@ class Method : public Metadata {
AccessFlags _access_flags; // Access flags
int _vtable_index; // vtable index of this method (see VtableIndexFlag)
// note: can have vtables with >2**16 elements (because of inheritance)
#ifdef CC_INTERP
int _result_index; // C++ interpreter needs for converting results to/from stack
#endif
u2 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
// Flags
@ -171,11 +168,6 @@ class Method : public Metadata {
return constMethod()->type_annotations();
}
#ifdef CC_INTERP
void set_result_index(BasicType type);
int result_index() { return _result_index; }
#endif
// Helper routine: get klass name + "." + method name + signature as
// C string, for the purpose of providing more useful NoSuchMethodErrors
// and fatal error handling. The string is allocated in resource
@ -552,7 +544,6 @@ class Method : public Metadata {
void compute_size_of_parameters(Thread *thread); // word size of parameters (receiver if any + arguments)
Symbol* klass_name() const; // returns the name of the method holder
BasicType result_type() const; // type of the method result
int result_type_index() const; // type index of the method result
bool is_returning_oop() const { BasicType r = result_type(); return (r == T_OBJECT || r == T_ARRAY); }
bool is_returning_fp() const { BasicType r = result_type(); return (r == T_FLOAT || r == T_DOUBLE); }
@ -653,9 +644,6 @@ class Method : public Metadata {
// interpreter support
static ByteSize const_offset() { return byte_offset_of(Method, _constMethod ); }
static ByteSize access_flags_offset() { return byte_offset_of(Method, _access_flags ); }
#ifdef CC_INTERP
static ByteSize result_index_offset() { return byte_offset_of(Method, _result_index ); }
#endif /* CC_INTERP */
static ByteSize from_compiled_offset() { return byte_offset_of(Method, _from_compiled_entry); }
static ByteSize code_offset() { return byte_offset_of(Method, _code); }
static ByteSize method_data_offset() {