< prev index next >

src/hotspot/share/prims/jvmtiTagMap.cpp

Print this page




1989 
1990   CallbackWrapper wrapper(tag_map(), obj);
1991   jvmtiIterationControl control = (*cb)(root_kind,
1992                                         wrapper.klass_tag(),
1993                                         wrapper.obj_size(),
1994                                         wrapper.obj_tag_p(),
1995                                         (void*)user_data());
1996   // push root to visit stack when following references
1997   if (control == JVMTI_ITERATION_CONTINUE &&
1998       basic_context()->object_ref_callback() != NULL) {
1999     visit_stack()->push(obj);
2000   }
2001   return control != JVMTI_ITERATION_ABORT;
2002 }
2003 
2004 // invoke basic style stack ref callback
2005 inline bool CallbackInvoker::invoke_basic_stack_ref_callback(jvmtiHeapRootKind root_kind,
2006                                                              jlong thread_tag,
2007                                                              jint depth,
2008                                                              jmethodID method,
2009                                                              jint slot,
2010                                                              oop obj) {
2011   assert(ServiceUtil::visible_oop(obj), "checking");
2012 
2013   // if we stack refs should be reported
2014   jvmtiStackReferenceCallback cb = basic_context()->stack_ref_callback();
2015   if (cb == NULL) {
2016     return check_for_visit(obj);
2017   }
2018 
2019   CallbackWrapper wrapper(tag_map(), obj);
2020   jvmtiIterationControl control = (*cb)(root_kind,
2021                                         wrapper.klass_tag(),
2022                                         wrapper.obj_size(),
2023                                         wrapper.obj_tag_p(),
2024                                         thread_tag,
2025                                         depth,
2026                                         method,
2027                                         slot,
2028                                         (void*)user_data());
2029   // push root to visit stack when following references




1989 
1990   CallbackWrapper wrapper(tag_map(), obj);
1991   jvmtiIterationControl control = (*cb)(root_kind,
1992                                         wrapper.klass_tag(),
1993                                         wrapper.obj_size(),
1994                                         wrapper.obj_tag_p(),
1995                                         (void*)user_data());
1996   // push root to visit stack when following references
1997   if (control == JVMTI_ITERATION_CONTINUE &&
1998       basic_context()->object_ref_callback() != NULL) {
1999     visit_stack()->push(obj);
2000   }
2001   return control != JVMTI_ITERATION_ABORT;
2002 }
2003 
2004 // invoke basic style stack ref callback
2005 inline bool CallbackInvoker::invoke_basic_stack_ref_callback(jvmtiHeapRootKind root_kind,
2006                                                              jlong thread_tag,
2007                                                              jint depth,
2008                                                              jmethodID method,
2009                                                              int slot,
2010                                                              oop obj) {
2011   assert(ServiceUtil::visible_oop(obj), "checking");
2012 
2013   // if we stack refs should be reported
2014   jvmtiStackReferenceCallback cb = basic_context()->stack_ref_callback();
2015   if (cb == NULL) {
2016     return check_for_visit(obj);
2017   }
2018 
2019   CallbackWrapper wrapper(tag_map(), obj);
2020   jvmtiIterationControl control = (*cb)(root_kind,
2021                                         wrapper.klass_tag(),
2022                                         wrapper.obj_size(),
2023                                         wrapper.obj_tag_p(),
2024                                         thread_tag,
2025                                         depth,
2026                                         method,
2027                                         slot,
2028                                         (void*)user_data());
2029   // push root to visit stack when following references


< prev index next >