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

Reply via email to