Mercurial > hg > graal-jvmci-8
diff src/share/vm/runtime/javaCalls.cpp @ 5747:120820e30baa
added basic high-level interpreter support to HotSpot
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Tue, 03 Jul 2012 16:56:40 +0200 |
parents | 11ce128f8d28 |
children | 8d0a6bceb112 |
line wrap: on
line diff
--- a/src/share/vm/runtime/javaCalls.cpp Tue Jul 03 15:00:23 2012 +0200 +++ b/src/share/vm/runtime/javaCalls.cpp Tue Jul 03 16:56:40 2012 +0200 @@ -39,6 +39,9 @@ #include "runtime/mutexLocker.hpp" #include "runtime/signature.hpp" #include "runtime/stubRoutines.hpp" +#ifdef HIGH_LEVEL_INTERPRETER +# include "graal/graalVMToInterpreter.hpp" +#endif #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" #endif @@ -437,7 +440,13 @@ ShouldNotReachHere(); #endif } - + +#ifdef HIGH_LEVEL_INTERPRETER + if (thread->high_level_interpreter_in_vm() && !method->is_native() && Interpreter::contains(entry_point)) { + assert(nm == NULL || !nm->is_alive(), "otherwise nm should be invoked"); + VMToInterpreter::execute(result, m, args, result->get_type(), thread); + } else +#endif // do call { JavaCallWrapper link(method, receiver, result, CHECK); { HandleMark hm(thread); // HandleMark used by HandleMarkCleaner @@ -473,7 +482,6 @@ } } - //-------------------------------------------------------------------------------------- // Implementation of JavaCallArguments