< prev index next >

src/hotspot/cpu/x86/interp_masm_x86.hpp

Print this page

        

@@ -221,10 +221,24 @@
                          bool throw_monitor_exception = true,
                          bool install_monitor_exception = true,
                          bool notify_jvmdi = true);
   void get_method_counters(Register method, Register mcs, Label& skip);
 
+  // Kills t1 and t2, perserves klass, return allocation in new_obj
+  virtual void allocate_instance(Register klass, Register new_obj,
+                                 Register t1, Register t2,
+                                 bool clear_fields, Label& alloc_failed);
+  // Allocate value buffer in new_obj and read in flattened field
+  // NOTES:
+  //   - input holder object via "obj", which must be rax,
+  //     will return new value buffer obj via the same reg
+  //   - assumes holder_klass and valueKlass field klass have both been resolved
+  //   - 32 bits: kills rdi and rsi
+  void read_flattened_field(Register holder_klass,
+                            Register field_index, Register field_offset,
+                            Register obj = rax);
+
   // Object locking
   void lock_object  (Register lock_reg);
   void unlock_object(Register lock_reg);
 
   // Interpreter profiling operations
< prev index next >