< prev index next >
src/hotspot/share/oops/valueKlass.hpp
Print this page
@@ -109,13 +109,11 @@
address adr_default_value_offset() const {
assert(_adr_valueklass_fixed_block != NULL, "Should have been initialized");
return ((address)_adr_valueklass_fixed_block) + in_bytes(default_value_offset_offset());
}
- // static Klass* array_klass_impl(InstanceKlass* this_k, bool or_null, int n, TRAPS);
-
- GrowableArray<SigEntry> collect_fields(int base_off = 0) const;
+ int collect_fields(GrowableArray<SigEntry>* sig, int base_off = 0) const;
void cleanup_blobs();
protected:
// Returns the array class for the n'th dimension
@@ -193,11 +191,11 @@
template <typename T, class OopClosureType>
inline void oop_iterate_specialized_bounded(const address oop_addr, OopClosureType* closure, void* lo, void* hi);
// calling convention support
- void initialize_calling_convention();
+ void initialize_calling_convention(TRAPS);
Array<SigEntry>* extended_sig() const {
return *((Array<SigEntry>**)adr_extended_sig());
}
Array<VMRegPair>* return_regs() const {
return *((Array<VMRegPair>**)adr_return_regs());
@@ -209,17 +207,15 @@
static ValueKlass* returned_value_klass(const RegisterMap& reg_map);
// pack and unpack handlers. Need to be loadable from generated code
// so at a fixed offset from the base of the klass pointer.
static ByteSize pack_handler_offset() {
- fatal("Should be re-implemented using the ValueKlassStaticBlock indirection");
- return in_ByteSize(InstanceKlass::header_size() * wordSize);
+ return byte_offset_of(ValueKlassFixedBlock, _pack_handler);
}
static ByteSize unpack_handler_offset() {
- fatal("Should be re-implemented using the ValueKlassStaticBlock indirection");
- return in_ByteSize((InstanceKlass::header_size()+1) * wordSize);
+ return byte_offset_of(ValueKlassFixedBlock, _unpack_handler);
}
static ByteSize default_value_offset_offset() {
return byte_offset_of(ValueKlassFixedBlock, _default_value_offset);
}
< prev index next >