src/hotspot/share/prims/jvmtiImpl.cpp
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54847 59ea39bb2809
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
   223     GrowableElement *e = _elements->at(i);
   223     GrowableElement *e = _elements->at(i);
   224     e->metadata_do(f);
   224     e->metadata_do(f);
   225   }
   225   }
   226 }
   226 }
   227 
   227 
   228 void GrowableCache::gc_epilogue() {
       
   229   int len = _elements->length();
       
   230   for (int i=0; i<len; i++) {
       
   231     _cache[i] = _elements->at(i)->getCacheValue();
       
   232   }
       
   233 }
       
   234 
       
   235 //
   228 //
   236 // class JvmtiBreakpoint
   229 // class JvmtiBreakpoint
   237 //
   230 //
   238 
   231 
   239 JvmtiBreakpoint::JvmtiBreakpoint() {
   232 JvmtiBreakpoint::JvmtiBreakpoint() {
   385   _bps.oops_do(f);
   378   _bps.oops_do(f);
   386 }
   379 }
   387 
   380 
   388 void  JvmtiBreakpoints::metadata_do(void f(Metadata*)) {
   381 void  JvmtiBreakpoints::metadata_do(void f(Metadata*)) {
   389   _bps.metadata_do(f);
   382   _bps.metadata_do(f);
   390 }
       
   391 
       
   392 void JvmtiBreakpoints::gc_epilogue() {
       
   393   _bps.gc_epilogue();
       
   394 }
   383 }
   395 
   384 
   396 void JvmtiBreakpoints::print() {
   385 void JvmtiBreakpoints::print() {
   397 #ifndef PRODUCT
   386 #ifndef PRODUCT
   398   LogTarget(Trace, jvmti) log;
   387   LogTarget(Trace, jvmti) log;
   512   if (_jvmti_breakpoints != NULL) {
   501   if (_jvmti_breakpoints != NULL) {
   513     _jvmti_breakpoints->metadata_do(f);
   502     _jvmti_breakpoints->metadata_do(f);
   514   }
   503   }
   515 }
   504 }
   516 
   505 
   517 void JvmtiCurrentBreakpoints::gc_epilogue() {
       
   518   if (_jvmti_breakpoints != NULL) {
       
   519     _jvmti_breakpoints->gc_epilogue();
       
   520   }
       
   521 }
       
   522 
       
   523 ///////////////////////////////////////////////////////////////
   506 ///////////////////////////////////////////////////////////////
   524 //
   507 //
   525 // class VM_GetOrSetLocal
   508 // class VM_GetOrSetLocal
   526 //
   509 //
   527 
   510 
   747       _result = JVMTI_ERROR_OPAQUE_FRAME;
   730       _result = JVMTI_ERROR_OPAQUE_FRAME;
   748       return false;
   731       return false;
   749     }
   732     }
   750   }
   733   }
   751 
   734 
       
   735   if (!check_slot_type_no_lvt(_jvf)) {
       
   736     return false;
       
   737   }
   752   if (method_oop->has_localvariable_table()) {
   738   if (method_oop->has_localvariable_table()) {
   753     return check_slot_type_lvt(_jvf);
   739     return check_slot_type_lvt(_jvf);
   754   } else {
       
   755     return check_slot_type_no_lvt(_jvf);
       
   756   }
   740   }
   757   return true;
   741   return true;
   758 }
   742 }
   759 
   743 
   760 void VM_GetOrSetLocal::doit() {
   744 void VM_GetOrSetLocal::doit() {
   895 }
   879 }
   896 
   880 
   897 
   881 
   898 void JvmtiSuspendControl::print() {
   882 void JvmtiSuspendControl::print() {
   899 #ifndef PRODUCT
   883 #ifndef PRODUCT
       
   884   ResourceMark rm;
   900   LogStreamHandle(Trace, jvmti) log_stream;
   885   LogStreamHandle(Trace, jvmti) log_stream;
   901   log_stream.print("Suspended Threads: [");
   886   log_stream.print("Suspended Threads: [");
   902   for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next(); ) {
   887   for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thread = jtiwh.next(); ) {
   903 #ifdef JVMTI_TRACE
   888 #ifdef JVMTI_TRACE
   904     const char *name   = JvmtiTrace::safe_get_thread_name(thread);
   889     const char *name   = JvmtiTrace::safe_get_thread_name(thread);