< prev index next >

src/hotspot/share/interpreter/abstractInterpreter.cpp

Print this page

        

@@ -183,10 +183,14 @@
     case vmIntrinsics::_fmaD  : return java_lang_math_fmaD ;
     case vmIntrinsics::_fmaF  : return java_lang_math_fmaF ;
 
     case vmIntrinsics::_Reference_get
                               : return java_lang_ref_reference_get;
+    case vmIntrinsics::_Continuation_run
+                              : return java_lang_continuation_run;
+    case vmIntrinsics::_Continuation_yield
+                              : return java_lang_continuation_yield;
     default                   : break;
   }
 
   // Accessor method?
   if (m->is_getter()) {

@@ -195,10 +199,21 @@
     // then the call above updated to ::is_accessor
     assert(m->size_of_parameters() == 1, "fast code for accessors assumes parameter size = 1");
     return accessor;
   }
 
+  Symbol* kname = m->klass_name();
+  Symbol* name = m->name();
+  if (kname == vmSymbols::java_lang_Continuation()) {
+    if (name == vmSymbols::getStack_name()) {
+      return java_lang_continuation_getStack;
+    }
+    if (name == vmSymbols::enter_name()) {
+      return java_lang_continuation_enter;
+    }
+  }
+
   // Note: for now: zero locals for all non-empty methods
   return zerolocals;
 }
 
 #if INCLUDE_CDS
< prev index next >