191 Rewriter(InstanceKlass* klass, const constantPoolHandle& cpool, Array<Method*>* methods, TRAPS); |
191 Rewriter(InstanceKlass* klass, const constantPoolHandle& cpool, Array<Method*>* methods, TRAPS); |
192 |
192 |
193 void compute_index_maps(); |
193 void compute_index_maps(); |
194 void make_constant_pool_cache(TRAPS); |
194 void make_constant_pool_cache(TRAPS); |
195 void scan_method(Method* m, bool reverse, bool* invokespecial_error); |
195 void scan_method(Method* m, bool reverse, bool* invokespecial_error); |
196 void rewrite_Object_init(methodHandle m, TRAPS); |
196 void rewrite_Object_init(const methodHandle& m, TRAPS); |
197 void rewrite_member_reference(address bcp, int offset, bool reverse); |
197 void rewrite_member_reference(address bcp, int offset, bool reverse); |
198 void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse); |
198 void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse); |
199 void rewrite_invokedynamic(address bcp, int offset, bool reverse); |
199 void rewrite_invokedynamic(address bcp, int offset, bool reverse); |
200 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse); |
200 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse); |
201 void rewrite_invokespecial(address bcp, int offset, bool reverse, bool* invokespecial_error); |
201 void rewrite_invokespecial(address bcp, int offset, bool reverse, bool* invokespecial_error); |
206 void rewrite_bytecodes(TRAPS); |
206 void rewrite_bytecodes(TRAPS); |
207 |
207 |
208 // Revert bytecodes in case of an exception. |
208 // Revert bytecodes in case of an exception. |
209 void restore_bytecodes(); |
209 void restore_bytecodes(); |
210 |
210 |
211 static methodHandle rewrite_jsrs(methodHandle m, TRAPS); |
211 static methodHandle rewrite_jsrs(const methodHandle& m, TRAPS); |
212 public: |
212 public: |
213 // Driver routine: |
213 // Driver routine: |
214 static void rewrite(InstanceKlass* klass, TRAPS); |
214 static void rewrite(InstanceKlass* klass, TRAPS); |
215 }; |
215 }; |
216 |
216 |