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 |