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