< prev index next >
src/hotspot/cpu/x86/macroAssembler_x86.hpp
Print this page
@@ -103,13 +103,13 @@
void test_field_is_flattenable(Register flags, Register temp_reg, Label& is_flattenable);
void test_field_is_not_flattenable(Register flags, Register temp_reg, Label& notFlattenable);
void test_field_is_flattened(Register flags, Register temp_reg, Label& is_flattened);
- // Check klass/oops is flat value type array (oop->_klass->_layout_helper & vt_bit)
- void test_flat_array_klass(Register klass, Register temp_reg, Label& is_flat_array);
- void test_flat_array_oop(Register oop, Register temp_reg, Label& is_flat_array);
+ // Check oops array storage properties, i.e. flattened and/or null-free
+ void test_flattened_array_oop(Register oop, Register temp_reg, Label&is_flattened_array);
+ void test_null_free_array_oop(Register oop, Register temp_reg, Label&is_null_free_array);
// Required platform-specific helpers for Label::patch_instructions.
// They _shadow_ the declarations in AbstractAssembler, which are undefined.
void pd_patch_instruction(address branch, address target, const char* file, int line) {
unsigned char op = branch[0];
@@ -325,10 +325,12 @@
void resolve_oop_handle(Register result, Register tmp = rscratch2);
void load_mirror(Register mirror, Register method, Register tmp = rscratch2);
// oop manipulations
+ void load_metadata(Register dst, Register src);
+ void load_storage_props(Register dst, Register src);
void load_klass(Register dst, Register src);
void store_klass(Register dst, Register src);
void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
Register tmp1, Register thread_tmp);
< prev index next >