src/share/vm/interpreter/templateTable.hpp
Print this page
*** 80,89 ****
--- 80,90 ----
class TemplateTable: AllStatic {
public:
enum Operation { add, sub, mul, div, rem, _and, _or, _xor, shl, shr, ushr };
enum Condition { equal, not_equal, less, less_equal, greater, greater_equal };
enum CacheByte { f1_byte = 1, f2_byte = 2 }; // byte_no codes
+ enum RewriteControl { MAY_REWRITE, MAY_NOT_REWRITE }; // control for fast code under CDS
private:
static bool _is_initialized; // true if TemplateTable has been initialized
static Template _template_table [Bytecodes::number_of_codes];
static Template _template_table_wide[Bytecodes::number_of_codes];
*** 163,172 ****
--- 164,177 ----
static void lload(int n);
static void fload(int n);
static void dload(int n);
static void aload(int n);
static void aload_0();
+ static void nofast_aload_0();
+ static void nofast_iload();
+ static void iload_internal(RewriteControl rc = MAY_REWRITE);
+ static void aload_0_internal(RewriteControl rc = MAY_REWRITE);
static void istore();
static void lstore();
static void fstore();
static void dstore();
*** 270,290 ****
Register index,
Register offset,
Register flags,
bool is_static);
static void invokevirtual(int byte_no);
static void invokespecial(int byte_no);
static void invokestatic(int byte_no);
static void invokeinterface(int byte_no);
static void invokedynamic(int byte_no);
static void invokehandle(int byte_no);
static void fast_invokevfinal(int byte_no);
! static void getfield_or_static(int byte_no, bool is_static);
! static void putfield_or_static(int byte_no, bool is_static);
static void getfield(int byte_no);
static void putfield(int byte_no);
static void getstatic(int byte_no);
static void putstatic(int byte_no);
static void pop_and_check_object(Register obj);
static void _new();
--- 275,299 ----
Register index,
Register offset,
Register flags,
bool is_static);
static void invokevirtual(int byte_no);
+ static void invokevirtual_internal(int byte_no, RewriteControl rc = MAY_REWRITE);
static void invokespecial(int byte_no);
static void invokestatic(int byte_no);
static void invokeinterface(int byte_no);
static void invokedynamic(int byte_no);
static void invokehandle(int byte_no);
static void fast_invokevfinal(int byte_no);
+ static void nofast_invokevirtual(int byte_no);
! static void getfield_or_static(int byte_no, bool is_static, RewriteControl rc = MAY_REWRITE);
! static void putfield_or_static(int byte_no, bool is_static, RewriteControl rc = MAY_REWRITE);
static void getfield(int byte_no);
static void putfield(int byte_no);
+ static void nofast_getfield(int byte_no);
+ static void nofast_putfield(int byte_no);
static void getstatic(int byte_no);
static void putstatic(int byte_no);
static void pop_and_check_object(Register obj);
static void _new();