mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
java-interp.h (_Jv_InterpFrame): obj_ptr field added to hold "this" pointer for frame.
2007-02-06 Kyle Galloway <kgallowa@redhat.com> * include/java-interp.h (_Jv_InterpFrame): obj_ptr field added to hold "this" pointer for frame. (_Jv_InterpFrame::get_this_ptr): New method. * interpret-run.cc: Copy the "this" pointer into obj_ptr. From-SVN: r121717
This commit is contained in:
committed by
Kyle Galloway
parent
9f05adb09f
commit
72268e157f
@@ -387,6 +387,9 @@ public:
|
||||
_Jv_word *locals;
|
||||
char *locals_type;
|
||||
|
||||
// Object pointer for this frame ("this")
|
||||
jobject obj_ptr;
|
||||
|
||||
_Jv_InterpFrame (void *meth, java::lang::Thread *thr, jclass proxyCls = NULL)
|
||||
: _Jv_Frame (reinterpret_cast<_Jv_MethodBase *> (meth), thr,
|
||||
frame_interpreter)
|
||||
@@ -394,12 +397,18 @@ public:
|
||||
next_interp = (_Jv_InterpFrame *) thr->interp_frame;
|
||||
proxyClass = proxyCls;
|
||||
thr->interp_frame = (gnu::gcj::RawData *) this;
|
||||
obj_ptr = NULL;
|
||||
}
|
||||
|
||||
~_Jv_InterpFrame ()
|
||||
{
|
||||
thread->interp_frame = (gnu::gcj::RawData *) next_interp;
|
||||
}
|
||||
|
||||
jobject get_this_ptr ()
|
||||
{
|
||||
return obj_ptr;
|
||||
}
|
||||
};
|
||||
|
||||
// A native frame in the call stack really just a placeholder
|
||||
|
||||
Reference in New Issue
Block a user