< 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 >