< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -272,13 +272,19 @@
   public static final int _fast_binaryswitch    = 229;
   public static final int _fast_aldc            = 230;
   public static final int _fast_aldc_w          = 231;
   public static final int _return_register_finalizer = 232;
   public static final int _invokehandle         = 233;
-  public static final int _shouldnotreachhere   = 234; // For debugging
 
-  public static final int number_of_codes       = 235;
+  // Bytecodes rewritten at CDS dump time
+  public static final int _nofast_getfield      = 234;
+  public static final int _nofast_putfield      = 235;
+  public static final int _nofast_aload_0       = 236;
+  public static final int _nofast_iload         = 237;
+  public static final int _shouldnotreachhere   = 238; // For debugging
+
+  public static final int number_of_codes       = 239;
 
   // Flag bits derived from format strings, can_trap, can_rewrite, etc.:
   // semantic flags:
   static final int  _bc_can_trap      = 1<<0;     // bytecode execution can trap or block
   static final int  _bc_can_rewrite   = 1<<1;     // bytecode execution has an alternate form

@@ -805,10 +811,16 @@
     def(_return_register_finalizer, "return_register_finalizer", "b"    , null    , BasicType.getTVoid()   , 0, true, _return );
 
     // special handling of signature-polymorphic methods
     def(_invokehandle        , "invokehandle"        , "bJJ"  , null    , BasicType.getTIllegal(), -1, true, _invokevirtual   );
 
+    // CDS specific. Bytecodes rewritten at CDS dump time
+    def(_nofast_getfield     , "_nofast_getfield"    , "bJJ"  , null    , BasicType.getTIllegal() , 0, true,  _getfield );
+    def(_nofast_putfield     , "_nofast_putfield"    , "bJJ"  , null    , BasicType.getTIllegal() ,-2, true,  _putfield );
+    def(_nofast_aload_0      , "_nofast_aload_0"     , "b"    , null    , BasicType.getTIllegal() , 1, true,  _aload_0  );
+    def(_nofast_iload        , "_nofast_iload"       , "bi"   , null    , BasicType.getTIllegal() , 1, false, _iload    );
+
     def(_shouldnotreachhere  , "_shouldnotreachhere" , "b"    , null    , BasicType.getTVoid()   ,  0, false);
 
     if (Assert.ASSERTS_ENABLED) {
       // compare can_trap information for each bytecode with the
       // can_trap information for the corresponding base bytecode
< prev index next >