hotspot/src/share/vm/utilities/ostream.cpp
changeset 18928 ac0163dd0a50
parent 15803 9328492899cc
child 20010 c66a7254680c
child 19968 64f9d23af647
child 22827 07d991d45a51
equal deleted inserted replaced
18696:9f928b94b877 18928:ac0163dd0a50
   294 stringStream::stringStream(size_t initial_size) : outputStream() {
   294 stringStream::stringStream(size_t initial_size) : outputStream() {
   295   buffer_length = initial_size;
   295   buffer_length = initial_size;
   296   buffer        = NEW_RESOURCE_ARRAY(char, buffer_length);
   296   buffer        = NEW_RESOURCE_ARRAY(char, buffer_length);
   297   buffer_pos    = 0;
   297   buffer_pos    = 0;
   298   buffer_fixed  = false;
   298   buffer_fixed  = false;
       
   299   DEBUG_ONLY(rm = Thread::current()->current_resource_mark();)
   299 }
   300 }
   300 
   301 
   301 // useful for output to fixed chunks of memory, such as performance counters
   302 // useful for output to fixed chunks of memory, such as performance counters
   302 stringStream::stringStream(char* fixed_buffer, size_t fixed_buffer_size) : outputStream() {
   303 stringStream::stringStream(char* fixed_buffer, size_t fixed_buffer_size) : outputStream() {
   303   buffer_length = fixed_buffer_size;
   304   buffer_length = fixed_buffer_size;
   319       // increase to the requested size.
   320       // increase to the requested size.
   320       if (end < buffer_length * 2) {
   321       if (end < buffer_length * 2) {
   321         end = buffer_length * 2;
   322         end = buffer_length * 2;
   322       }
   323       }
   323       char* oldbuf = buffer;
   324       char* oldbuf = buffer;
       
   325       assert(rm == NULL || Thread::current()->current_resource_mark() == rm,
       
   326              "stringStream is re-allocated with a different ResourceMark");
   324       buffer = NEW_RESOURCE_ARRAY(char, end);
   327       buffer = NEW_RESOURCE_ARRAY(char, end);
   325       strncpy(buffer, oldbuf, buffer_pos);
   328       strncpy(buffer, oldbuf, buffer_pos);
   326       buffer_length = end;
   329       buffer_length = end;
   327     }
   330     }
   328   }
   331   }