src/share/vm/services/diagnosticArgument.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 80060074 Sdiff src/share/vm/services

src/share/vm/services/diagnosticArgument.hpp

Print this page




  36   GrowableArray<char*>* _array;
  37 public:
  38   StringArrayArgument() {
  39     _array = new(ResourceObj::C_HEAP, mtInternal)GrowableArray<char *>(32, true);
  40     assert(_array != NULL, "Sanity check");
  41   }
  42   void add(const char* str, size_t len) {
  43     if (str != NULL) {
  44       char* ptr = NEW_C_HEAP_ARRAY(char, len+1, mtInternal);
  45       strncpy(ptr, str, len);
  46       ptr[len] = 0;
  47       _array->append(ptr);
  48     }
  49   }
  50   GrowableArray<char*>* array() {
  51     return _array;
  52   }
  53   ~StringArrayArgument() {
  54     for (int i=0; i<_array->length(); i++) {
  55       if(_array->at(i) != NULL) { // Safety check
  56         FREE_C_HEAP_ARRAY(char, _array->at(i), mtInternal);
  57       }
  58     }
  59     delete _array;
  60   }
  61 };
  62 
  63 class NanoTimeArgument {
  64 public:
  65   jlong _nanotime;
  66   jlong _time;
  67   char _unit[3];
  68 };
  69 
  70 class MemorySizeArgument {
  71 public:
  72   u8 _size;
  73   u8 _val;
  74   char _multiplier;
  75 };
  76 




  36   GrowableArray<char*>* _array;
  37 public:
  38   StringArrayArgument() {
  39     _array = new(ResourceObj::C_HEAP, mtInternal)GrowableArray<char *>(32, true);
  40     assert(_array != NULL, "Sanity check");
  41   }
  42   void add(const char* str, size_t len) {
  43     if (str != NULL) {
  44       char* ptr = NEW_C_HEAP_ARRAY(char, len+1, mtInternal);
  45       strncpy(ptr, str, len);
  46       ptr[len] = 0;
  47       _array->append(ptr);
  48     }
  49   }
  50   GrowableArray<char*>* array() {
  51     return _array;
  52   }
  53   ~StringArrayArgument() {
  54     for (int i=0; i<_array->length(); i++) {
  55       if(_array->at(i) != NULL) { // Safety check
  56         FREE_C_HEAP_ARRAY(char, _array->at(i));
  57       }
  58     }
  59     delete _array;
  60   }
  61 };
  62 
  63 class NanoTimeArgument {
  64 public:
  65   jlong _nanotime;
  66   jlong _time;
  67   char _unit[3];
  68 };
  69 
  70 class MemorySizeArgument {
  71 public:
  72   u8 _size;
  73   u8 _val;
  74   char _multiplier;
  75 };
  76 


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