Mercurial > hg > truffle
comparison src/share/vm/runtime/reflectionUtils.hpp @ 12264:b2e698d2276c
8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Summary: Enhance method resolution and resulting data structures, plus some refactoring.
Reviewed-by: twisti, acorn, jrose
author | drchase |
---|---|
date | Fri, 13 Sep 2013 22:38:02 -0400 |
parents | f9be75d21404 |
children | ac9cb1d5a202 |
comparison
equal
deleted
inserted
replaced
12261:2c98370f2611 | 12264:b2e698d2276c |
---|---|
107 | 107 |
108 class FieldStream : public KlassStream { | 108 class FieldStream : public KlassStream { |
109 private: | 109 private: |
110 int length() const { return _klass->java_fields_count(); } | 110 int length() const { return _klass->java_fields_count(); } |
111 | 111 |
112 fieldDescriptor _fd_buf; | |
113 | |
112 public: | 114 public: |
113 FieldStream(instanceKlassHandle klass, bool local_only, bool classes_only) | 115 FieldStream(instanceKlassHandle klass, bool local_only, bool classes_only) |
114 : KlassStream(klass, local_only, classes_only) { | 116 : KlassStream(klass, local_only, classes_only) { |
115 _index = length(); | 117 _index = length(); |
116 next(); | 118 next(); |
131 return _klass->field_signature(_index); | 133 return _klass->field_signature(_index); |
132 } | 134 } |
133 // missing: initval() | 135 // missing: initval() |
134 int offset() const { | 136 int offset() const { |
135 return _klass->field_offset( index() ); | 137 return _klass->field_offset( index() ); |
138 } | |
139 // bridge to a heavier API: | |
140 fieldDescriptor& field_descriptor() const { | |
141 fieldDescriptor& field = const_cast<fieldDescriptor&>(_fd_buf); | |
142 field.reinitialize(_klass(), _index); | |
143 return field; | |
136 } | 144 } |
137 }; | 145 }; |
138 | 146 |
139 class FilteredField : public CHeapObj<mtInternal> { | 147 class FilteredField : public CHeapObj<mtInternal> { |
140 private: | 148 private: |