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

@ -215,32 +215,30 @@ static const int op_jsr_w = 0xc9;
static const int op_putfield_1 = 0xca;
static const int op_putfield_2 = 0xcb;
static const int op_putfield_4 = 0xcd;
static const int op_putfield_8 = 0xce;
static const int op_putfield_a = 0xcf;
static const int op_putfield_4 = 0xcc;
static const int op_putfield_8 = 0xcd;
static const int op_putfield_a = 0xce;
static const int op_putstatic_1 = 0xd0;
static const int op_putstatic_2 = 0xd1;
static const int op_putstatic_4 = 0xd2;
static const int op_putstatic_8 = 0xd3;
static const int op_putstatic_a = 0xd4;
static const int op_putstatic_1 = 0xcf;
static const int op_putstatic_2 = 0xd0;
static const int op_putstatic_4 = 0xd1;
static const int op_putstatic_8 = 0xd2;
static const int op_putstatic_a = 0xd3;
static const int op_getfield_1 = 0xd5;
static const int op_getfield_2s = 0xd6;
static const int op_getfield_2u = 0xd7;
static const int op_getfield_4 = 0xd8;
static const int op_getfield_8 = 0xd9;
static const int op_getfield_a = 0xda;
static const int op_getfield_1 = 0xd4;
static const int op_getfield_2s = 0xd5;
static const int op_getfield_2u = 0xd6;
static const int op_getfield_4 = 0xd7;
static const int op_getfield_8 = 0xd8;
static const int op_getfield_a = 0xd9;
static const int op_getstatic_1 = 0xda;
static const int op_getstatic_2s = 0xdb;
static const int op_getstatic_2u = 0xdc;
static const int op_getstatic_4 = 0xdd;
static const int op_getstatic_8 = 0xde;
static const int op_getstatic_a = 0xdf;
static const int op_getstatic_1 = 0xdb;
static const int op_getstatic_2s = 0xdc;
static const int op_getstatic_2u = 0xdd;
static const int op_getstatic_4 = 0xde;
static const int op_getstatic_8 = 0xdf;
static const int op_getstatic_a = 0xe0;
static const int op_invokefinal = 0xe1;
static const int op_invokevtable = 0xe2;