equal
deleted
inserted
replaced
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); |