< prev index next >
src/share/vm/opto/valuetypenode.hpp
Print this page
@@ -47,11 +47,11 @@
}
// Get the klass defining the field layout of the value type
ciValueKlass* value_klass() const { return type()->is_valuetype()->value_klass(); }
// Initialize the value type by loading its field values from memory
- void load_values(PhaseGVN& gvn, Node* mem, Node* base, Node* ptr, ciKlass* holder = NULL, int f_offset = 0);
+ void load_values(PhaseGVN& gvn, Node* mem, Node* base, Node* ptr, ciInstanceKlass* holder, int holder_offset = 0);
enum { Control, // Control input
Oop, // Oop of TypeValueTypePtr
Values // Nodes corresponding to values of the value type's fields.
// Nodes are connected in increasing order of the index of the field
@@ -64,23 +64,23 @@
// Create a new ValueTypeNode with default values
static Node* make_default(PhaseGVN& gvn, ciValueKlass* vk);
// Create a new ValueTypeNode and load its values from an oop
static Node* make(PhaseGVN& gvn, Node* mem, Node* oop);
// Create a new ValueTypeNode and load its values from a flattened value type field or array
- static Node* make(PhaseGVN& gvn, ciValueKlass* vk, Node* mem, Node* obj, Node* ptr, ciKlass* holder, int field_offset = 0);
+ static Node* make(PhaseGVN& gvn, ciValueKlass* vk, Node* mem, Node* obj, Node* ptr, ciInstanceKlass* holder = NULL, int holder_offset = 0);
// Support for control flow merges
ValueTypeNode* clone_with_phis(PhaseGVN& gvn, Node* region);
bool has_phi_inputs(Node* region);
Node* merge_with(GraphKit* kit, const ValueTypeNode* other, int pnum);
// Store the value type to memory if not yet allocated and returns the oop
Node* store_to_memory(GraphKit* kit);
- // Store the value type in a field of an object
- void store_to_field(GraphKit* kit, Node* obj, Node* ptr, ciInstanceKlass* instance_type, int field_offset) const;
+ // Store the value type to a flattened value type field or array
+ void store(GraphKit* kit, Node* obj, Node* ptr, ciInstanceKlass* holder = NULL, int holder_offset = 0) const;
// Store the field values to memory
- void store_values(GraphKit* kit, Node* base, Node* ptr, ciKlass* holder = NULL, int holder_offset = 0) const;
+ void store_values(GraphKit* kit, Node* base, Node* ptr, ciInstanceKlass* holder, int holder_offset = 0) const;
// Get oop for heap allocated value type (may be TypePtr::NULL_PTR)
Node* get_oop() const { return in(Oop); }
void set_oop(Node* oop) { set_req(Oop, oop); }
< prev index next >