hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 345 8a4c345e460c
parent 195 9193828514c4
child 360 21d113ecbf6a
equal deleted inserted replaced
249:8a8601fb5571 345:8a4c345e460c
  1013   objArrayOop     _head;
  1013   objArrayOop     _head;
  1014   objArrayOop     _methods;
  1014   objArrayOop     _methods;
  1015   typeArrayOop    _bcis;
  1015   typeArrayOop    _bcis;
  1016   int             _index;
  1016   int             _index;
  1017   bool            _dirty;
  1017   bool            _dirty;
  1018   bool            _done;
       
  1019   No_Safepoint_Verifier _nsv;
  1018   No_Safepoint_Verifier _nsv;
  1020 
  1019 
  1021  public:
  1020  public:
  1022 
  1021 
  1023   enum {
  1022   enum {
  1027     trace_size           = java_lang_Throwable::trace_size,
  1026     trace_size           = java_lang_Throwable::trace_size,
  1028     trace_chunk_size     = java_lang_Throwable::trace_chunk_size
  1027     trace_chunk_size     = java_lang_Throwable::trace_chunk_size
  1029   };
  1028   };
  1030 
  1029 
  1031   // constructor for new backtrace
  1030   // constructor for new backtrace
  1032   BacktraceBuilder(TRAPS): _methods(NULL), _bcis(NULL), _head(NULL) {
  1031   BacktraceBuilder(TRAPS): _methods(NULL), _bcis(NULL), _head(NULL), _dirty(false) {
  1033     expand(CHECK);
  1032     expand(CHECK);
  1034     _backtrace = _head;
  1033     _backtrace = _head;
  1035     _index = 0;
  1034     _index = 0;
  1036     _dirty = false;
       
  1037     _done = false;
       
  1038   }
  1035   }
  1039 
  1036 
  1040   void flush() {
  1037   void flush() {
  1041     if (_dirty && _methods != NULL) {
  1038     if (_dirty && _methods != NULL) {
  1042       BarrierSet* bs = Universe::heap()->barrier_set();
  1039       BarrierSet* bs = Universe::heap()->barrier_set();