< prev index next > src/hotspot/share/runtime/stackChunkFrameStream.inline.hpp
Print this page
assert(cb()->as_nmethod()->method() != nullptr, "");
return (cb()->as_nmethod()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord;
}
template <ChunkFrames frame_kind>
! inline int StackChunkFrameStream<frame_kind>::num_oops() const {
if (is_interpreted()) {
! return interpreter_frame_num_oops();
} else if (is_compiled()) {
return oopmap()->num_oops();
} else {
assert(is_stub(), "invariant");
return 0;
assert(cb()->as_nmethod()->method() != nullptr, "");
return (cb()->as_nmethod()->num_stack_arg_slots() * VMRegImpl::stack_slot_size) >> LogBytesPerWord;
}
template <ChunkFrames frame_kind>
! template <typename RegisterMapT>
+ inline int StackChunkFrameStream<frame_kind>::num_oops(RegisterMapT* map) const {
if (is_interpreted()) {
! return interpreter_frame_num_oops(map);
} else if (is_compiled()) {
return oopmap()->num_oops();
} else {
assert(is_stub(), "invariant");
return 0;
template <ChunkFrames frame_kind>
template <class OopClosureType, class RegisterMapT>
inline void StackChunkFrameStream<frame_kind>::iterate_oops(OopClosureType* closure, const RegisterMapT* map) const {
if (is_interpreted()) {
frame f = to_frame();
! f.oops_interpreted_do(closure, nullptr, true);
} else {
DEBUG_ONLY(int oops = 0;)
for (OopMapStream oms(oopmap()); !oms.is_done(); oms.next()) {
OopMapValue omv = oms.current();
if (omv.type() != OopMapValue::oop_value && omv.type() != OopMapValue::narrowoop_value) {
template <ChunkFrames frame_kind>
template <class OopClosureType, class RegisterMapT>
inline void StackChunkFrameStream<frame_kind>::iterate_oops(OopClosureType* closure, const RegisterMapT* map) const {
if (is_interpreted()) {
frame f = to_frame();
! f.oops_interpreted_do(closure, map, true);
} else {
DEBUG_ONLY(int oops = 0;)
for (OopMapStream oms(oopmap()); !oms.is_done(); oms.next()) {
OopMapValue omv = oms.current();
if (omv.type() != OopMapValue::oop_value && omv.type() != OopMapValue::narrowoop_value) {
< prev index next >