< prev index next >

src/share/vm/runtime/frame.hpp

Print this page




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_RUNTIME_FRAME_HPP
  26 #define SHARE_VM_RUNTIME_FRAME_HPP
  27 
  28 #include "oops/method.hpp"
  29 #include "runtime/basicLock.hpp"
  30 #include "runtime/monitorChunk.hpp"
  31 #include "runtime/registerMap.hpp"
  32 #include "utilities/top.hpp"
  33 #ifdef COMPILER2
  34 #if defined ADGLOBALS_MD_HPP
  35 # include ADGLOBALS_MD_HPP
  36 #elif defined TARGET_ARCH_MODEL_x86_32
  37 # include "adfiles/adGlobals_x86_32.hpp"
  38 #elif defined TARGET_ARCH_MODEL_x86_64
  39 # include "adfiles/adGlobals_x86_64.hpp"


  40 #elif defined TARGET_ARCH_MODEL_sparc
  41 # include "adfiles/adGlobals_sparc.hpp"
  42 #elif defined TARGET_ARCH_MODEL_zero
  43 # include "adfiles/adGlobals_zero.hpp"
  44 #elif defined TARGET_ARCH_MODEL_ppc_64
  45 # include "adfiles/adGlobals_ppc_64.hpp"
  46 #endif
  47 #endif // COMPILER2
  48 #ifdef TARGET_ARCH_zero
  49 # include "stack_zero.hpp"
  50 #endif
  51 
  52 typedef class BytecodeInterpreter* interpreterState;
  53 
  54 class CodeBlob;
  55 class FrameValues;
  56 class vframeArray;
  57 
  58 
  59 // A frame represents a physical stack frame (an activation).  Frames


 469 
 470  public:
 471   // Zapping
 472   void zap_dead_locals            (JavaThread* thread, const RegisterMap* map);
 473   void zap_dead_interpreted_locals(JavaThread* thread, const RegisterMap* map);
 474   void zap_dead_compiled_locals   (JavaThread* thread, const RegisterMap* map);
 475   void zap_dead_entry_locals      (JavaThread* thread, const RegisterMap* map);
 476   void zap_dead_deoptimized_locals(JavaThread* thread, const RegisterMap* map);
 477 # endif
 478   // Verification
 479   void verify(const RegisterMap* map);
 480   static bool verify_return_pc(address x);
 481   static bool is_bci(intptr_t bcx);
 482   // Usage:
 483   // assert(frame::verify_return_pc(return_address), "must be a return pc");
 484 
 485   int pd_oop_map_offset_adjustment() const;
 486 
 487 #ifdef TARGET_ARCH_x86
 488 # include "frame_x86.hpp"



 489 #endif
 490 #ifdef TARGET_ARCH_sparc
 491 # include "frame_sparc.hpp"
 492 #endif
 493 #ifdef TARGET_ARCH_zero
 494 # include "frame_zero.hpp"
 495 #endif
 496 #ifdef TARGET_ARCH_arm
 497 # include "frame_arm.hpp"
 498 #endif
 499 #ifdef TARGET_ARCH_ppc
 500 # include "frame_ppc.hpp"
 501 #endif
 502 
 503 };
 504 
 505 #ifndef PRODUCT
 506 // A simple class to describe a location on the stack
 507 class FrameValue VALUE_OBJ_CLASS_SPEC {
 508  public:




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_RUNTIME_FRAME_HPP
  26 #define SHARE_VM_RUNTIME_FRAME_HPP
  27 
  28 #include "oops/method.hpp"
  29 #include "runtime/basicLock.hpp"
  30 #include "runtime/monitorChunk.hpp"
  31 #include "runtime/registerMap.hpp"
  32 #include "utilities/top.hpp"
  33 #ifdef COMPILER2
  34 #if defined ADGLOBALS_MD_HPP
  35 # include ADGLOBALS_MD_HPP
  36 #elif defined TARGET_ARCH_MODEL_x86_32
  37 # include "adfiles/adGlobals_x86_32.hpp"
  38 #elif defined TARGET_ARCH_MODEL_x86_64
  39 # include "adfiles/adGlobals_x86_64.hpp"
  40 #elif defined TARGET_ARCH_MODEL_aarch64
  41 # include "adfiles/adGlobals_aarch64.hpp"
  42 #elif defined TARGET_ARCH_MODEL_sparc
  43 # include "adfiles/adGlobals_sparc.hpp"
  44 #elif defined TARGET_ARCH_MODEL_zero
  45 # include "adfiles/adGlobals_zero.hpp"
  46 #elif defined TARGET_ARCH_MODEL_ppc_64
  47 # include "adfiles/adGlobals_ppc_64.hpp"
  48 #endif
  49 #endif // COMPILER2
  50 #ifdef TARGET_ARCH_zero
  51 # include "stack_zero.hpp"
  52 #endif
  53 
  54 typedef class BytecodeInterpreter* interpreterState;
  55 
  56 class CodeBlob;
  57 class FrameValues;
  58 class vframeArray;
  59 
  60 
  61 // A frame represents a physical stack frame (an activation).  Frames


 471 
 472  public:
 473   // Zapping
 474   void zap_dead_locals            (JavaThread* thread, const RegisterMap* map);
 475   void zap_dead_interpreted_locals(JavaThread* thread, const RegisterMap* map);
 476   void zap_dead_compiled_locals   (JavaThread* thread, const RegisterMap* map);
 477   void zap_dead_entry_locals      (JavaThread* thread, const RegisterMap* map);
 478   void zap_dead_deoptimized_locals(JavaThread* thread, const RegisterMap* map);
 479 # endif
 480   // Verification
 481   void verify(const RegisterMap* map);
 482   static bool verify_return_pc(address x);
 483   static bool is_bci(intptr_t bcx);
 484   // Usage:
 485   // assert(frame::verify_return_pc(return_address), "must be a return pc");
 486 
 487   int pd_oop_map_offset_adjustment() const;
 488 
 489 #ifdef TARGET_ARCH_x86
 490 # include "frame_x86.hpp"
 491 #endif
 492 #ifdef TARGET_ARCH_aarch64
 493 # include "frame_aarch64.hpp"
 494 #endif
 495 #ifdef TARGET_ARCH_sparc
 496 # include "frame_sparc.hpp"
 497 #endif
 498 #ifdef TARGET_ARCH_zero
 499 # include "frame_zero.hpp"
 500 #endif
 501 #ifdef TARGET_ARCH_arm
 502 # include "frame_arm.hpp"
 503 #endif
 504 #ifdef TARGET_ARCH_ppc
 505 # include "frame_ppc.hpp"
 506 #endif
 507 
 508 };
 509 
 510 #ifndef PRODUCT
 511 // A simple class to describe a location on the stack
 512 class FrameValue VALUE_OBJ_CLASS_SPEC {
 513  public:


< prev index next >