natVMSecurityManager.cc (getClassContext): Add new arg: klass.

2005-03-17  Andrew Haley  <aph@redhat.com>

	* java/lang/natVMSecurityManager.cc (getClassContext): Add new
	arg: klass.
	Pass klass to _Jv_StackTrace::GetClassContext().
	* java/lang/ClassLoader.java (getParent): Pass class to
	VMSecurityManager.getClassContext()
	(getSystemClassLoader): Likewise.
	* java/lang/Package.java (getPackage): Likewise.
	(getPackages): Likewise.
	* java/lang/SecurityManager.java (getClassContext): Likewise.
	(currentClassLoader): Likewise.
	* java/lang/VMSecurityManager.java: (getClassContext): Likewise.
	(currentClassLoader) Add new arg: caller.
	Pass caller to VMSecurityManager.getClassContext.

	* stacktrace.cc (GetClassContext): Correct calculation of
	jframe_count.

	* boehm.cc (_Jv_MarkObj): (_Jv_MarkObj): Mark
	im->source_file_name.

From-SVN: r96803
This commit is contained in:
Andrew Haley 2005-03-21 14:50:14 +00:00 committed by Andrew Haley
parent 21e01bf10d
commit e5a8980bb9
8 changed files with 45 additions and 22 deletions

View file

@ -464,19 +464,17 @@ _Jv_StackTrace::GetClassContext (jclass checkClass)
_Jv_StackFrame *frame = &state.frames[i];
FillInFrameInfo (frame);
if (seen_checkClass
&& frame->klass
&& frame->klass != checkClass)
if (seen_checkClass)
{
jframe_count++;
if (start_pos == -1)
start_pos = i;
if (frame->klass)
{
jframe_count++;
if (start_pos == -1)
start_pos = i;
}
}
if (!seen_checkClass
&& frame->klass
&& frame->klass == checkClass)
seen_checkClass = true;
else
seen_checkClass = frame->klass == checkClass;
}
result = (JArray<jclass> *) _Jv_NewObjectArray (jframe_count, &Class::class$, NULL);
int pos = 0;