src/share/vm/runtime/vframeArray.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/runtime

src/share/vm/runtime/vframeArray.hpp

Print this page
rev 6086 : 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.
Reviewed-by:


  68   int raw_bci(void) const            { return _bci; }
  69   bool should_reexecute(void) const  { return _reexecute; }
  70 
  71   Method* method(void) const       { return _method; }
  72 
  73   MonitorChunk* monitors(void) const { return _monitors; }
  74 
  75   void free_monitors(JavaThread* jt);
  76 
  77   StackValueCollection* locals(void) const             { return _locals; }
  78 
  79   StackValueCollection* expressions(void) const        { return _expressions; }
  80 
  81   void fill_in(compiledVFrame* vf);
  82 
  83   // Formerly part of deoptimizedVFrame
  84 
  85 
  86   // Returns the on stack word size for this frame
  87   // callee_parameters is the number of callee locals residing inside this frame
  88   int on_stack_size(int caller_actual_parameters,
  89                     int callee_parameters,
  90                     int callee_locals,
  91                     bool is_bottom_frame,
  92                     bool is_top_frame,
  93                     int popframe_extra_stack_expression_els) const;
  94 
  95   // Unpacks the element to skeletal interpreter frame
  96   void unpack_on_stack(int caller_actual_parameters,
  97                        int callee_parameters,
  98                        int callee_locals,
  99                        frame* caller,
 100                        bool is_top_frame,
 101                        bool is_bottom_frame,
 102                        int exec_mode);
 103 
 104 #ifndef PRODUCT
 105   void print(outputStream* st);
 106 #endif /* PRODUCT */
 107 };
 108 
 109 // this can be a ResourceObj if we don't save the last one...
 110 // but it does make debugging easier even if we can't look
 111 // at the data in each vframeElement




  68   int raw_bci(void) const            { return _bci; }
  69   bool should_reexecute(void) const  { return _reexecute; }
  70 
  71   Method* method(void) const       { return _method; }
  72 
  73   MonitorChunk* monitors(void) const { return _monitors; }
  74 
  75   void free_monitors(JavaThread* jt);
  76 
  77   StackValueCollection* locals(void) const             { return _locals; }
  78 
  79   StackValueCollection* expressions(void) const        { return _expressions; }
  80 
  81   void fill_in(compiledVFrame* vf);
  82 
  83   // Formerly part of deoptimizedVFrame
  84 
  85 
  86   // Returns the on stack word size for this frame
  87   // callee_parameters is the number of callee locals residing inside this frame
  88   int on_stack_size(int callee_parameters,

  89                     int callee_locals,

  90                     bool is_top_frame,
  91                     int popframe_extra_stack_expression_els) const;
  92 
  93   // Unpacks the element to skeletal interpreter frame
  94   void unpack_on_stack(int caller_actual_parameters,
  95                        int callee_parameters,
  96                        int callee_locals,
  97                        frame* caller,
  98                        bool is_top_frame,
  99                        bool is_bottom_frame,
 100                        int exec_mode);
 101 
 102 #ifndef PRODUCT
 103   void print(outputStream* st);
 104 #endif /* PRODUCT */
 105 };
 106 
 107 // this can be a ResourceObj if we don't save the last one...
 108 // but it does make debugging easier even if we can't look
 109 // at the data in each vframeElement


src/share/vm/runtime/vframeArray.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File