src/hotspot/share/interpreter/rewriter.hpp
changeset 59056 15936b142f86
parent 53746 bdccafc038a2
equal deleted inserted replaced
59055:57ad70bcf06c 59056:15936b142f86
   182   // All the work goes in here:
   182   // All the work goes in here:
   183   Rewriter(InstanceKlass* klass, const constantPoolHandle& cpool, Array<Method*>* methods, TRAPS);
   183   Rewriter(InstanceKlass* klass, const constantPoolHandle& cpool, Array<Method*>* methods, TRAPS);
   184 
   184 
   185   void compute_index_maps();
   185   void compute_index_maps();
   186   void make_constant_pool_cache(TRAPS);
   186   void make_constant_pool_cache(TRAPS);
   187   void scan_method(Method* m, bool reverse, bool* invokespecial_error);
   187   void scan_method(Thread* thread, Method* m, bool reverse, bool* invokespecial_error);
   188   void rewrite_Object_init(const methodHandle& m, TRAPS);
   188   void rewrite_Object_init(const methodHandle& m, TRAPS);
   189   void rewrite_member_reference(address bcp, int offset, bool reverse);
   189   void rewrite_member_reference(address bcp, int offset, bool reverse);
   190   void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse);
   190   void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse);
   191   void rewrite_invokedynamic(address bcp, int offset, bool reverse);
   191   void rewrite_invokedynamic(address bcp, int offset, bool reverse);
   192   void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse);
   192   void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse);
   196 
   196 
   197   // Do all the work.
   197   // Do all the work.
   198   void rewrite_bytecodes(TRAPS);
   198   void rewrite_bytecodes(TRAPS);
   199 
   199 
   200   // Revert bytecodes in case of an exception.
   200   // Revert bytecodes in case of an exception.
   201   void restore_bytecodes();
   201   void restore_bytecodes(Thread* thread);
   202 
   202 
   203   static methodHandle rewrite_jsrs(const methodHandle& m, TRAPS);
   203   static methodHandle rewrite_jsrs(const methodHandle& m, TRAPS);
   204  public:
   204  public:
   205   // Driver routine:
   205   // Driver routine:
   206   static void rewrite(InstanceKlass* klass, TRAPS);
   206   static void rewrite(InstanceKlass* klass, TRAPS);