interpret.cc (continue1): Implement explicit dispatch table.

* interpret.cc (continue1): Implement explicit dispatch table.
	insn_target: Explicit interpreter switch table.
	SAVE_PC: New macro, moves pc saving code into instructions that
	require so.
	NEXT_INSN: New macro, replaces `goto next_insn' in all insns.
	PC_REGISTER_ASM: New macro.
	INLINE_SWITCH: New macro.  Constrols dispatching strategy.
	opcode: Remove local variable.
	{i,l,f,d}{load,store}_{0,1,2,3}: Expand definitions.
	(POKEI): Use _Jv_word.
	(iinc): Use _Jv_word.
	(dupx): Change reference argument (sp) to pointer.
	(jvdump): Remove

	* interpret.cc: Remove instruction timing instrumentation.

	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Changed
	comment.  Don't use _Jv_ClassNameSamePackage.

	* gnu/gcj/util/path/{SearchPath,ZipFileEntry,DirectoryPathEntry,
	URLPathEntry, CacheEntry}: Removed.

	* Makefile.am (ordinary_java_source_files): Remove gnu/gcj/util/path
	package.
	(.java.lo): Rule removed.

	* Makefile.in: Rebuilt.

From-SVN: r28777
This commit is contained in:
Kresten Krab Thorup 1999-08-20 13:40:35 +02:00 committed by Kresten Krab Thorup
parent ad69db4af5
commit f7b4fb110a
6 changed files with 962 additions and 730 deletions

View file

@ -220,9 +220,9 @@ static const int ALL_FLAGS = 0x7FF;
/** This function does class-preparation for compiled classes.
NOTE: This function replicates functionality from
NOTE: It contains replicated functionality from
_Jv_ResolvePoolEntry, and this is intentional, since that function
is
lives in resolve.cc which is entirely conditionally compiled.
*/
void
_Jv_PrepareCompiledClass(jclass klass)
@ -253,17 +253,8 @@ _Jv_PrepareCompiledClass(jclass klass)
JvThrow (new java::lang::ClassNotFoundException (str));
}
if ((found->accflags & PUBLIC) == PUBLIC
|| (_Jv_ClassNameSamePackage (found->name,
klass->name)))
{
pool->data[index].clazz = found;
pool->tags[index] |= JV_CONSTANT_ResolvedFlag;
}
else
{
JvThrow (new java::lang::IllegalAccessError (found->getName()));
}
pool->data[index].clazz = found;
pool->tags[index] |= JV_CONSTANT_ResolvedFlag;
}
else if (pool->tags[index] == JV_CONSTANT_String)