< prev index next >

src/hotspot/share/interpreter/abstractInterpreter.hpp

Print this page




  85     java_util_zip_CRC32_updateByteBuffer,                       // implementation of java.util.zip.CRC32.updateByteBuffer()
  86     java_util_zip_CRC32C_updateBytes,                           // implementation of java.util.zip.CRC32C.updateBytes(crc, b[], off, end)
  87     java_util_zip_CRC32C_updateDirectByteBuffer,                // implementation of java.util.zip.CRC32C.updateDirectByteBuffer(crc, address, off, end)
  88     java_lang_Float_intBitsToFloat,                             // implementation of java.lang.Float.intBitsToFloat()
  89     java_lang_Float_floatToRawIntBits,                          // implementation of java.lang.Float.floatToRawIntBits()
  90     java_lang_Double_longBitsToDouble,                          // implementation of java.lang.Double.longBitsToDouble()
  91     java_lang_Double_doubleToRawLongBits,                       // implementation of java.lang.Double.doubleToRawLongBits()
  92     number_of_method_entries,
  93     invalid = -1
  94   };
  95 
  96   // Conversion from the part of the above enum to vmIntrinsics::_invokeExact, etc.
  97   static vmIntrinsics::ID method_handle_intrinsic(MethodKind kind) {
  98     if (kind >= method_handle_invoke_FIRST && kind <= method_handle_invoke_LAST)
  99       return (vmIntrinsics::ID)( vmIntrinsics::FIRST_MH_SIG_POLY + (kind - method_handle_invoke_FIRST) );
 100     else
 101       return vmIntrinsics::_none;
 102   }
 103 
 104   enum SomeConstants {
 105     number_of_result_handlers = 10                              // number of result handlers for native calls
 106   };
 107 
 108  protected:
 109   static StubQueue* _code;                                      // the interpreter code (codelets)
 110 
 111   static bool       _notice_safepoints;                         // true if safepoints are activated
 112 
 113   static address    _native_entry_begin;                        // Region for native entry code
 114   static address    _native_entry_end;
 115 
 116   // method entry points
 117   static address    _entry_table[number_of_method_entries];     // entry points for a given method
 118   static address    _cds_entry_table[number_of_method_entries]; // entry points for methods in the CDS archive
 119   static address    _native_abi_to_tosca[number_of_result_handlers];  // for native method result handlers
 120   static address    _slow_signature_handler;                              // the native method generic (slow) signature handler
 121 
 122   static address    _rethrow_exception_entry;                   // rethrows an activation in previous frame
 123 
 124   friend class      AbstractInterpreterGenerator;
 125   friend class      InterpreterMacroAssembler;




  85     java_util_zip_CRC32_updateByteBuffer,                       // implementation of java.util.zip.CRC32.updateByteBuffer()
  86     java_util_zip_CRC32C_updateBytes,                           // implementation of java.util.zip.CRC32C.updateBytes(crc, b[], off, end)
  87     java_util_zip_CRC32C_updateDirectByteBuffer,                // implementation of java.util.zip.CRC32C.updateDirectByteBuffer(crc, address, off, end)
  88     java_lang_Float_intBitsToFloat,                             // implementation of java.lang.Float.intBitsToFloat()
  89     java_lang_Float_floatToRawIntBits,                          // implementation of java.lang.Float.floatToRawIntBits()
  90     java_lang_Double_longBitsToDouble,                          // implementation of java.lang.Double.longBitsToDouble()
  91     java_lang_Double_doubleToRawLongBits,                       // implementation of java.lang.Double.doubleToRawLongBits()
  92     number_of_method_entries,
  93     invalid = -1
  94   };
  95 
  96   // Conversion from the part of the above enum to vmIntrinsics::_invokeExact, etc.
  97   static vmIntrinsics::ID method_handle_intrinsic(MethodKind kind) {
  98     if (kind >= method_handle_invoke_FIRST && kind <= method_handle_invoke_LAST)
  99       return (vmIntrinsics::ID)( vmIntrinsics::FIRST_MH_SIG_POLY + (kind - method_handle_invoke_FIRST) );
 100     else
 101       return vmIntrinsics::_none;
 102   }
 103 
 104   enum SomeConstants {
 105     number_of_result_handlers = 11                              // number of result handlers for native calls
 106   };
 107 
 108  protected:
 109   static StubQueue* _code;                                      // the interpreter code (codelets)
 110 
 111   static bool       _notice_safepoints;                         // true if safepoints are activated
 112 
 113   static address    _native_entry_begin;                        // Region for native entry code
 114   static address    _native_entry_end;
 115 
 116   // method entry points
 117   static address    _entry_table[number_of_method_entries];     // entry points for a given method
 118   static address    _cds_entry_table[number_of_method_entries]; // entry points for methods in the CDS archive
 119   static address    _native_abi_to_tosca[number_of_result_handlers];  // for native method result handlers
 120   static address    _slow_signature_handler;                              // the native method generic (slow) signature handler
 121 
 122   static address    _rethrow_exception_entry;                   // rethrows an activation in previous frame
 123 
 124   friend class      AbstractInterpreterGenerator;
 125   friend class      InterpreterMacroAssembler;


< prev index next >