< prev index next >
src/hotspot/share/runtime/javaCalls.cpp
Print this page
*** 29,38 ****
--- 29,39 ----
#include "compiler/compileBroker.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/linkResolver.hpp"
#include "memory/universe.inline.hpp"
#include "oops/oop.inline.hpp"
+ #include "oops/valueKlass.hpp"
#include "prims/jniCheck.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/javaCalls.hpp"
*** 145,155 ****
--- 146,163 ----
JNIHandleBlock::release_block(_old_handles, _thread);
}
void JavaCallWrapper::oops_do(OopClosure* f) {
+ if (!VTBuffer::is_in_vt_buffer(_receiver)) {
f->do_oop((oop*)&_receiver);
+ } else {
+ assert(_receiver->is_value(), "Sanity check");
+ BufferedValuesDealiaser* dealiaser = Thread::current()->buffered_values_dealiaser();
+ assert(dealiaser != NULL, "Sanity check");
+ dealiaser->oops_do(f, _receiver);
+ }
handles()->oops_do(f);
}
// Helper methods
< prev index next >