comparison src/share/vm/runtime/frame.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 5dbed2f542ff
children 957c266d8bc5 da91efe96a93
comparison
equal deleted inserted replaced
6241:aba91a731143 6266:1d7922586cf6
133 133
134 // type testers 134 // type testers
135 bool is_interpreted_frame() const; 135 bool is_interpreted_frame() const;
136 bool is_java_frame() const; 136 bool is_java_frame() const;
137 bool is_entry_frame() const; // Java frame called from C? 137 bool is_entry_frame() const; // Java frame called from C?
138 bool is_ricochet_frame() const; 138 bool is_ignored_frame() const;
139 bool is_native_frame() const; 139 bool is_native_frame() const;
140 bool is_runtime_frame() const; 140 bool is_runtime_frame() const;
141 bool is_compiled_frame() const; 141 bool is_compiled_frame() const;
142 bool is_safepoint_blob_frame() const; 142 bool is_safepoint_blob_frame() const;
143 bool is_deoptimized_frame() const; 143 bool is_deoptimized_frame() const;
174 174
175 private: 175 private:
176 // Helper methods for better factored code in frame::sender 176 // Helper methods for better factored code in frame::sender
177 frame sender_for_compiled_frame(RegisterMap* map) const; 177 frame sender_for_compiled_frame(RegisterMap* map) const;
178 frame sender_for_entry_frame(RegisterMap* map) const; 178 frame sender_for_entry_frame(RegisterMap* map) const;
179 frame sender_for_ricochet_frame(RegisterMap* map) const;
180 frame sender_for_interpreter_frame(RegisterMap* map) const; 179 frame sender_for_interpreter_frame(RegisterMap* map) const;
181 frame sender_for_native_frame(RegisterMap* map) const; 180 frame sender_for_native_frame(RegisterMap* map) const;
182 181
183 // All frames: 182 // All frames:
184 183
413 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const; 412 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const;
414 413
415 // Oops-do's 414 // Oops-do's
416 void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f); 415 void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f);
417 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true); 416 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true);
418 void oops_ricochet_do(OopClosure* f, const RegisterMap* map);
419 417
420 private: 418 private:
421 void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f); 419 void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f);
422 420
423 // Iteration of oops 421 // Iteration of oops