You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mf...@apache.org on 2007/06/19 14:57:08 UTC

svn commit: r548711 - in /harmony/enhanced/drlvm/trunk/vm/jitrino: config/em64t/server.emconf config/ia32/server.emconf src/codegenerator/ia32/Ia32IRManager.cpp src/jet/cg_fld_arr.cpp

Author: mfursov
Date: Tue Jun 19 05:57:07 2007
New Revision: 548711

URL: http://svn.apache.org/viewvc?view=rev&rev=548711
Log:
Fix for H3652 regression
Fixing alloc/allocArray helpers inlining configuration in server.emconf


Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf?view=diff&rev=548711&r1=548710&r2=548711
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf Tue Jun 19 05:57:07 2007
@@ -99,12 +99,12 @@
 -XX:jit.SD2_OPT.SD2_OPT_helper_inliner_pipeline.path=ssa
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.pipeline=SD2_OPT_helper_inliner_pipeline
 
--XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj=on
+-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj=off
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_className=org/apache/harmony/drlvm/gc_cc/GCHelper
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_methodName=alloc
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_hotnessPercent=1
 
--XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray=on
+-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray=off
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_className=org/apache/harmony/drlvm/gc_cc/GCHelper
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_methodName=allocArray
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_hotnessPercent=1

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf?view=diff&rev=548711&r1=548710&r2=548711
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf Tue Jun 19 05:57:07 2007
@@ -100,12 +100,12 @@
 -XX:jit.SD2_OPT.SD2_OPT_helper_inliner_pipeline.path=ssa
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.pipeline=SD2_OPT_helper_inliner_pipeline
 
--XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj=on
+-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj=off
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_className=org/apache/harmony/drlvm/gc_cc/GCHelper
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_methodName=alloc
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newObj_hotnessPercent=1
 
--XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray=on
+-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray=off
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_className=org/apache/harmony/drlvm/gc_cc/GCHelper
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_methodName=allocArray
 -XX:jit.SD2_OPT.arg.optimizer.inline_helpers.newArray_hotnessPercent=1

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp?view=diff&rev=548711&r1=548710&r2=548711
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32IRManager.cpp Tue Jun 19 05:57:07 2007
@@ -2209,7 +2209,13 @@
                 Opnd * subOpnd=opnd->getMemOpndSubOpnd((MemOpndSubOpndKind)j);
                 if (subOpnd!=NULL){
                     Type * type=subOpnd->getType();
-                    if (type->isManagedPtr()||type->isObject()||type->isMethodPtr()||type->isVTablePtr()||type->isUnmanagedPtr()){
+                    if (type->isManagedPtr() || type->isObject() || type->isMethodPtr() || type->isVTablePtr() || type->isUnmanagedPtr()
+#ifdef _EM64T_
+                        || subOpnd->getRegName() == RegName_RSP/*SOE handler*/
+#else
+                        || subOpnd->getRegName() == RegName_ESP/*SOE handler*/
+#endif
+                        ){
                         if (properTypeSubOpnd!=NULL){
                             VERIFY_OUT("Heap operand " << opnd << " contains more than 1 sub-operands of type Object or ManagedPointer "<<::std::endl);
                             VERIFY_OUT("Opnd 1: " << properTypeSubOpnd << ::std::endl);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp?view=diff&rev=548711&r1=548710&r2=548711
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp Tue Jun 19 05:57:07 2007
@@ -442,7 +442,7 @@
             patch(br_off, ip(_loop));
         } else {
             Val& val = vstack(0, vis_mem(0));
-            do_mov(where, val);
+            do_mov(where, val, fieldIsMagic);
             if (is_big(jt)) {
                 Opnd where_hi(jt, where.base(), where.disp()+4, 
                                   where.index(), where.scale());