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:
committed by
Kresten Krab Thorup
parent
ad69db4af5
commit
f7b4fb110a
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user