< prev index next >

src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp

Print this page
@@ -39,10 +39,11 @@
  #include "oops/arrayOop.hpp"
  #include "oops/method.hpp"
  #include "oops/methodCounters.hpp"
  #include "oops/methodData.hpp"
  #include "oops/oop.inline.hpp"
+ #include "oops/inlineKlass.hpp"
  #include "oops/resolvedIndyEntry.hpp"
  #include "oops/resolvedMethodEntry.hpp"
  #include "prims/jvmtiExport.hpp"
  #include "prims/jvmtiThreadState.hpp"
  #include "runtime/arguments.hpp"

@@ -471,10 +472,15 @@
    // Restore stack bottom in case i2c adjusted stack
    __ ldr(rscratch1, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
    __ lea(esp, Address(rfp, rscratch1, Address::lsl(Interpreter::logStackElementSize)));
    // and null it as marker that esp is now tos until next java call
    __ str(zr, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
+ 
+   if (state == atos && InlineTypeReturnedAsFields) {
+     __ store_inline_type_fields_to_buf(nullptr, true);
+   }
+ 
    __ restore_bcp();
    __ restore_locals();
    __ restore_constant_pool_cache();
    __ get_method(rmethod);
  
< prev index next >