--- a/src/hotspot/share/oops/fieldStreams.hpp Wed Nov 13 11:27:50 2019 +0000
+++ b/src/hotspot/share/oops/fieldStreams.hpp Wed Nov 13 08:23:23 2019 -0500
@@ -79,34 +79,11 @@
return num_fields;
}
- FieldStreamBase(Array<u2>* fields, const constantPoolHandle& constants, int start, int limit) {
- _fields = fields;
- _constants = constants;
- _index = start;
- int num_fields = init_generic_signature_start_slot();
- if (limit < start) {
- _limit = num_fields;
- } else {
- _limit = limit;
- }
- }
+ inline FieldStreamBase(Array<u2>* fields, ConstantPool* constants, int start, int limit);
- FieldStreamBase(Array<u2>* fields, const constantPoolHandle& constants) {
- _fields = fields;
- _constants = constants;
- _index = 0;
- _limit = init_generic_signature_start_slot();
- }
-
+ inline FieldStreamBase(Array<u2>* fields, ConstantPool* constants);
public:
- FieldStreamBase(InstanceKlass* klass) {
- _fields = klass->fields();
- _constants = klass->constants();
- _index = 0;
- _limit = klass->java_fields_count();
- init_generic_signature_start_slot();
- assert(klass == field_holder(), "");
- }
+ inline FieldStreamBase(InstanceKlass* klass);
// accessors
int index() const { return _index; }
@@ -136,11 +113,11 @@
}
Symbol* name() const {
- return field()->name(_constants);
+ return field()->name(_constants());
}
Symbol* signature() const {
- return field()->signature(_constants);
+ return field()->signature(_constants());
}
Symbol* generic_signature() const {
@@ -242,7 +219,7 @@
class AllFieldStream : public FieldStreamBase {
public:
- AllFieldStream(Array<u2>* fields, const constantPoolHandle& constants): FieldStreamBase(fields, constants) {}
+ AllFieldStream(Array<u2>* fields, ConstantPool* constants): FieldStreamBase(fields, constants) {}
AllFieldStream(InstanceKlass* k): FieldStreamBase(k->fields(), k->constants()) {}
};