Mercurial > hg > graal-compiler
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 |