Mercurial > hg > truffle
comparison src/share/vm/runtime/frame.hpp @ 7212:291ffc492eb6
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 14 Dec 2012 14:35:13 +0100 |
parents | e522a00b91aa d2f8c38e543d |
children | a7a93887b4c4 |
comparison
equal
deleted
inserted
replaced
7163:2ed8d74e5984 | 7212:291ffc492eb6 |
---|---|
23 */ | 23 */ |
24 | 24 |
25 #ifndef SHARE_VM_RUNTIME_FRAME_HPP | 25 #ifndef SHARE_VM_RUNTIME_FRAME_HPP |
26 #define SHARE_VM_RUNTIME_FRAME_HPP | 26 #define SHARE_VM_RUNTIME_FRAME_HPP |
27 | 27 |
28 #include "asm/assembler.hpp" | |
29 #include "oops/method.hpp" | 28 #include "oops/method.hpp" |
30 #include "runtime/basicLock.hpp" | 29 #include "runtime/basicLock.hpp" |
31 #include "runtime/monitorChunk.hpp" | 30 #include "runtime/monitorChunk.hpp" |
32 #include "runtime/registerMap.hpp" | 31 #include "runtime/registerMap.hpp" |
33 #include "utilities/top.hpp" | 32 #include "utilities/top.hpp" |
413 // Conversion from an VMReg to physical stack location | 412 // Conversion from an VMReg to physical stack location |
414 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const; | 413 oop* oopmapreg_to_location(VMReg reg, const RegisterMap* regmap) const; |
415 | 414 |
416 // Oops-do's | 415 // Oops-do's |
417 void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f); | 416 void oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f); |
418 void oops_interpreted_do(OopClosure* f, const RegisterMap* map, bool query_oop_map_cache = true); | 417 void oops_interpreted_do(OopClosure* f, CLDToOopClosure* cld_f, const RegisterMap* map, bool query_oop_map_cache = true); |
419 | 418 |
420 private: | 419 private: |
421 void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f); | 420 void oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f); |
422 | 421 |
423 // Iteration of oops | 422 // Iteration of oops |
424 void oops_do_internal(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); | 423 void oops_do_internal(OopClosure* f, CLDToOopClosure* cld_f, CodeBlobClosure* cf, RegisterMap* map, bool use_interpreter_oop_map_cache); |
425 void oops_entry_do(OopClosure* f, const RegisterMap* map); | 424 void oops_entry_do(OopClosure* f, const RegisterMap* map); |
426 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); | 425 void oops_code_blob_do(OopClosure* f, CodeBlobClosure* cf, const RegisterMap* map); |
427 int adjust_offset(Method* method, int index); // helper for above fn | 426 int adjust_offset(Method* method, int index); // helper for above fn |
428 public: | 427 public: |
429 // Memory management | 428 // Memory management |
430 void oops_do(OopClosure* f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cf, map, true); } | 429 void oops_do(OopClosure* f, CLDToOopClosure* cld_f, CodeBlobClosure* cf, RegisterMap* map) { oops_do_internal(f, cld_f, cf, map, true); } |
431 void nmethods_do(CodeBlobClosure* cf); | 430 void nmethods_do(CodeBlobClosure* cf); |
432 | 431 |
433 // RedefineClasses support for finding live interpreted methods on the stack | 432 // RedefineClasses support for finding live interpreted methods on the stack |
434 void metadata_do(void f(Metadata*)); | 433 void metadata_do(void f(Metadata*)); |
435 | 434 |