Print this page
rev 2237 : [mq]: initial-intrinsification-changes

Split Close
Expand all
Collapse all
          --- old/src/share/vm/interpreter/abstractInterpreter.hpp
          +++ new/src/share/vm/interpreter/abstractInterpreter.hpp
↓ open down ↓ 96 lines elided ↑ open up ↑
  97   97      accessor,                                                   // accessor method (code: _aload_0, _getfield, _(a|i)return)
  98   98      abstract,                                                   // abstract method (throws an AbstractMethodException)
  99   99      method_handle,                                              // java.lang.invoke.MethodHandles::invoke
 100  100      java_lang_math_sin,                                         // implementation of java.lang.Math.sin   (x)
 101  101      java_lang_math_cos,                                         // implementation of java.lang.Math.cos   (x)
 102  102      java_lang_math_tan,                                         // implementation of java.lang.Math.tan   (x)
 103  103      java_lang_math_abs,                                         // implementation of java.lang.Math.abs   (x)
 104  104      java_lang_math_sqrt,                                        // implementation of java.lang.Math.sqrt  (x)
 105  105      java_lang_math_log,                                         // implementation of java.lang.Math.log   (x)
 106  106      java_lang_math_log10,                                       // implementation of java.lang.Math.log10 (x)
      107 +    java_lang_ref_reference_get,                                // implementation of java.lang.ref.Reference.get()
 107  108      number_of_method_entries,
 108  109      invalid = -1
 109  110    };
 110  111  
 111  112    enum SomeConstants {
 112  113      number_of_result_handlers = 10                              // number of result handlers for native calls
 113  114    };
 114  115  
 115  116   protected:
 116  117    static StubQueue* _code;                                      // the interpreter code (codelets)
↓ open down ↓ 16 lines elided ↑ open up ↑
 133  134  
 134  135   public:
 135  136    // Initialization/debugging
 136  137    static void       initialize();
 137  138    static StubQueue* code()                                      { return _code; }
 138  139  
 139  140  
 140  141    // Method activation
 141  142    static MethodKind method_kind(methodHandle m);
 142  143    static address    entry_for_kind(MethodKind k)                { assert(0 <= k && k < number_of_method_entries, "illegal kind"); return _entry_table[k]; }
 143      -  static address    entry_for_method(methodHandle m)            { return _entry_table[method_kind(m)]; }
      144 +  static address    entry_for_method(methodHandle m)            { return entry_for_kind(method_kind(m)); }
 144  145  
 145  146    static void       print_method_kind(MethodKind kind)          PRODUCT_RETURN;
 146  147  
 147  148    static bool       can_be_compiled(methodHandle m);
 148  149  
 149  150    // Runtime support
 150  151  
 151  152    // length = invoke bytecode length (to advance to next bytecode)
 152  153    static address    deopt_entry   (TosState state, int length) { ShouldNotReachHere(); return NULL; }
 153  154    static address    return_entry  (TosState state, int length) { ShouldNotReachHere(); return NULL; }
↓ open down ↓ 142 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX