comparison src/share/vm/interpreter/rewriter.hpp @ 6266:1d7922586cf6

7023639: JSR 292 method handle invocation needs a fast path for compiled code 6984705: JSR 292 method handle creation should not go through JNI Summary: remove assembly code for JDK 7 chained method handles Reviewed-by: jrose, twisti, kvn, mhaupt Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author twisti
date Tue, 24 Jul 2012 10:51:00 -0700
parents d3b9f2be46ab
children da91efe96a93
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
37 instanceKlassHandle _klass; 37 instanceKlassHandle _klass;
38 constantPoolHandle _pool; 38 constantPoolHandle _pool;
39 objArrayHandle _methods; 39 objArrayHandle _methods;
40 intArray _cp_map; 40 intArray _cp_map;
41 intStack _cp_cache_map; 41 intStack _cp_cache_map;
42 bool _have_invoke_dynamic; 42 intArray _method_handle_invokers;
43 43
44 void init_cp_map(int length) { 44 void init_cp_map(int length) {
45 _cp_map.initialize(length, -1); 45 _cp_map.initialize(length, -1);
46 // Choose an initial value large enough that we don't get frequent 46 // Choose an initial value large enough that we don't get frequent
47 // calls to grow(). 47 // calls to grow().
86 void compute_index_maps(); 86 void compute_index_maps();
87 void make_constant_pool_cache(TRAPS); 87 void make_constant_pool_cache(TRAPS);
88 void scan_method(methodOop m, bool reverse = false); 88 void scan_method(methodOop m, bool reverse = false);
89 void rewrite_Object_init(methodHandle m, TRAPS); 89 void rewrite_Object_init(methodHandle m, TRAPS);
90 void rewrite_member_reference(address bcp, int offset, bool reverse = false); 90 void rewrite_member_reference(address bcp, int offset, bool reverse = false);
91 void maybe_rewrite_invokehandle(address opc, int cp_index, bool reverse = false);
91 void rewrite_invokedynamic(address bcp, int offset, bool reverse = false); 92 void rewrite_invokedynamic(address bcp, int offset, bool reverse = false);
92 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse = false); 93 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse = false);
93 // Revert bytecodes in case of an exception. 94 // Revert bytecodes in case of an exception.
94 void restore_bytecodes(); 95 void restore_bytecodes();
95 96