harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r588688 - in /harmony/enhanced/drlvm/trunk/vm: jitrino/src/jet/rt.cpp vmcore/src/jvmti/jvmti_locals.cpp
Date Fri, 26 Oct 2007 15:33:57 GMT
Author: gshimansky
Date: Fri Oct 26 08:33:56 2007
New Revision: 588688

URL: http://svn.apache.org/viewvc?rev=588688&view=rev
Log:
Applied patch from HARMONY-5015
[drlvm][jvmti][x86_64] Functions jvmtiGetLocalObject and jvmtiSetLocalObject have to handle
compressed references


Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp?rev=588688&r1=588687&r2=588688&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/rt.cpp Fri Oct 26 08:33:56 2007
@@ -546,6 +546,12 @@
         if (!tst(map, var_num)) {
             return EXE_ERROR_TYPE_MISMATCH;
         }
+#ifdef _EM64T_
+    case VM_DATA_TYPE_STRING:
+        var_ptr_to_64 = (uint64*)value_ptr;
+        *var_ptr_to_64 = *(uint64*)(ebp + frame.local(var_num));
+        break;
+#endif
     default:
         var_ptr_to32 = (uint32*)value_ptr;
         *var_ptr_to32 = *(uint32*)(ebp + frame.local(var_num));

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp?rev=588688&r1=588687&r2=588688&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp Fri Oct 26 08:33:56
2007
@@ -193,12 +193,12 @@
 
         tmn_suspend_disable();
         OpenExeJpdaError result = jit->get_local_var(method, jfc, slot,
-            VM_DATA_TYPE_MP, &obj);
+            VM_DATA_TYPE_CLASS, &obj);
         si_free(si);
 
         if (result == EXE_ERROR_NONE)
         {
-            if (NULL != obj)
+            if (obj != (ManagedObject *)VM_Global_State::loader_env->managed_null)
             {
                 ObjectHandle oh = oh_allocate_local_handle();
                 oh->object = obj;
@@ -459,12 +459,12 @@
         OpenExeJpdaError result;
         if (NULL != value)
             result = jit->set_local_var(method, jfc, slot,
-                VM_DATA_TYPE_MP, &value->object);
+                VM_DATA_TYPE_CLASS, &value->object);
         else
         {
-            ManagedObject *n = NULL;
+            ManagedObject *n = (ManagedObject *)VM_Global_State::loader_env->managed_null;
             result = jit->set_local_var(method, jfc, slot,
-                VM_DATA_TYPE_MP, &n);
+                VM_DATA_TYPE_CLASS, &n);
         }
 
         si_free(si);



Mime
View raw message