Hi, Mikhail, good observation. And I agree that it's not a blocker at
the moment. Thanks, xiaofeng
On 4/23/07, Mikhail Fursov (JIRA) <[EMAIL PROTECTED]> wrote:
[
https://issues.apache.org/jira/browse/HARMONY-3718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490916
]
Mikhail Fursov commented on HARMONY-3718:
-----------------------------------------
While working on this problem I've found that vmmagic support in Jitrino.OPT
has potential flow that can cause GC_GEN failing when compressed mode is
enabled on EM64T platform.
Jitrino.OPT treats all field stores for Java objects as stores 4-byte values in
compressed mode, but fields with Address type are not 'objects' but 8-bytes raw
pointers.
I'll create another JIRA to demonstrate this problem.
+ I propose closing this JIRA without fix applied. It's not a blocker after
HARMONY-3721 is committed and I'm going to rewrite this patch with stricter
check as part of the solution for the problem described above.
> [drlvm][jit] -server mode failed for GCv5 helper inlining
> ---------------------------------------------------------
>
> Key: HARMONY-3718
> URL: https://issues.apache.org/jira/browse/HARMONY-3718
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux IA32
> Reporter: Yu-Nan He
> Attachments: check.diff, server.emconf
>
>
> DRLVM fails on Linux IA32 in -server mode with allocation inline parameters for GCv5. The
server.emconf is modified and I replaced all "gc_cc" in server.emconf with
"gc_gen". Jitrino fails with below stack trace when I run any application.
> /***********stack trace********************/
> java:
/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:108: void
Jitrino::Ia32::checkManaged2UnmanagedConv(Jitrino::Ia32::IRManager&,
Jitrino::Ia32::Opnd*): Assertion `managedOpnd->isPlacedIn(OpndKind_Immediate)' failed.
> SIGABRT in VM code.
> Stack trace:
> 0: ?? (??:-1)
> 1: ?? (??:-1)
> 2: ?? (??:-1)
> 3: Jitrino::Ia32::checkManaged2UnmanagedConv(Jitrino::Ia32::IRManager&,
Jitrino::Ia32::Opnd*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:94)
> 4: Jitrino::Ia32::GCMap::registerGCSafePoint(Jitrino::Ia32::IRManager&,
Jitrino::BitSet const&, Jitrino::Ia32::Inst*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:141)
> 5: Jitrino::Ia32::GCMap::processBasicBlock(Jitrino::Ia32::IRManager&,
Jitrino::Node const*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:70)
> 6: Jitrino::Ia32::GCMap::registerInsts(Jitrino::Ia32::IRManager&)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:51)
> 7: Jitrino::Ia32::GCMapCreator::runImpl()
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32GCMap.cpp:472)
> 8: Jitrino::Ia32::SessionAction::run()
(/home/yhe19/harmony/working_vm/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp:2271)
> 9: Jitrino::runPipeline(Jitrino::CompilationContext*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/main/Jitrino.cpp:228)
> 10: Jitrino::compileMethod(Jitrino::CompilationContext*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/main/Jitrino.cpp:265)
> 11: Jitrino::Jitrino::CompileMethod(Jitrino::CompilationContext*)
(/home/yhe19/harmony/working_vm/vm/jitrino/src/main/Jitrino.cpp:287)
> 12: JIT_compile_method_with_params
(/home/yhe19/harmony/working_vm/vm/jitrino/src/vm/drl/DrlJITInterface.cpp:279)
> 13: Dll_JIT::compile_method_with_params(void*, Method*,
OpenMethodExecutionParams)
(/home/yhe19/harmony/working_vm/vm/vmcore/include/dll_jit_intf.h:86)
> 14: compile_do_compilation_jit(Method*, JIT*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jit/compile.cpp:657)
> 15: vm_compile_method
(/home/yhe19/harmony/working_vm/vm/vmcore/src/class_support/C_Interface.cpp:2493)
> 16: DrlEMImpl::compileMethod(Method*)
(/home/yhe19/harmony/working_vm/vm/em/src/DrlEMImpl.cpp:540)
> 17: CompileMethod (/home/yhe19/harmony/working_vm/vm/em/src/em_intf.cpp:50)
> 18: compile_do_compilation
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jit/compile.cpp:770)
> 19: compile_me(Method*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jit/compile.cpp:790)
> 20: 0x00545162 <Generated stub>
> 21: vm_invoke_native_array_stub
(/home/yhe19/harmony/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 22: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> 23: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/em/src/DrlEMImpl.cpp:510)
> 24: ExecuteMethod (/home/yhe19/harmony/working_vm/vm/em/src/em_intf.cpp:44)
> 25: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jit/ini.cpp:56)
> 26: Class::initialize()
(/home/yhe19/harmony/working_vm/vm/vmcore/src/class_support/Initialize.cpp:141)
> 27: class_initialize_from_jni(Class*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/class_support/Initialize.cpp:214)
> 28: Java_java_lang_VMClassRegistry_initializeClass
(/home/yhe19/harmony/working_vm/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp:407)
> 29: 0x00928EB6 <Generated stub>
> 30: ?? (??:-1)
> 31:
java/lang/Class.forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
(Class.java:178)
> 32: java/lang/Class.forName(Ljava/lang/String;)Ljava/lang/Class;
(Class.java:128)
> 33: java/lang/VMStart.parseSystemProperties()V (VMStart.java:65)
> 34: vm_invoke_native_array_stub
(/home/yhe19/harmony/working_vm/vm/vmcore/src/util/ia32/base/invoke_native_stub_ia32.asm:41)
> 35: JIT_execute_method_default(void*, _jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/util/ia32/base/ini_iA32.cpp:200)
> 36: DrlEMImpl::executeMethod(_jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/em/src/DrlEMImpl.cpp:510)
> 37: ExecuteMethod (/home/yhe19/harmony/working_vm/vm/em/src/em_intf.cpp:44)
> 38: vm_execute_java_method_array(_jmethodID*, jvalue*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jit/ini.cpp:56)
> 39: call_static_method_no_ref_result
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jni/jni_method.cpp:1155)
> 40: CallStaticVoidMethodA(JNIEnv_External*, _jobject*, _jmethodID*, jvalue*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jni/jni_method.cpp:1563)
> 41: CallStaticVoidMethodV(JNIEnv_External*, _jobject*, _jmethodID*, char*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jni/jni_method.cpp:1547)
> 42: JNIEnv_External::CallStaticVoidMethod(_jobject*, _jmethodID*, ...)
(/home/yhe19/harmony/working_vm/vm/include/jni.h:1348)
> 43: run_java_init
(/home/yhe19/harmony/working_vm/vm/vmcore/src/init/vm_init.cpp:483)
> 44: vm_init2(JNIEnv_External*)
(/home/yhe19/harmony/working_vm/vm/vmcore/src/init/vm_init.cpp:860)
> 45: JNI_CreateJavaVM
(/home/yhe19/harmony/working_vm/vm/vmcore/src/jni/jni.cpp:529)
> 46: invocation (../shared/main.c:658)
> 47: gpProtectedMain (../shared/main.c:379)
> 48: main (../shared/cmain.c:147)
> 49: ?? (??:-1)
> 50: _start (??:-1)
> 51: java/lang/VMStart.initialize()V (VMStart.java:47)
> <end of stack trace>
> Aborted
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
--
http://xiao-feng.blogspot.com