You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mc...@apache.org on 2008/05/04 13:31:29 UTC

svn commit: r653199 - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet: cg_meth.cpp enc.cpp enc.h

Author: mcfirst
Date: Sun May  4 04:31:29 2008
New Revision: 653199

URL: http://svn.apache.org/viewvc?rev=653199&view=rev
Log:
Applying the patch from HARMONY-5789 [drlvm][jet] Smoke test classloader.StreassLoader crashes DRLVM in server mode on Windows x86-64 platform

Modified:
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp?rev=653199&r1=653198&r2=653199&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp Sun May  4 04:31:29 2008
@@ -167,7 +167,7 @@
     }
     //
 #ifdef _EM64T_
-    mov(fill, (unsigned long)0xDEADBEEFDEADBEEF);
+    mov(fill, (uint_ptr)0xDEADBEEFDEADBEEF);
 #else
     mov(fill, 0xDEADBEEF);
 #endif

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp?rev=653199&r1=653198&r2=653199&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp Sun May  4 04:31:29 2008
@@ -370,7 +370,7 @@
             }
             else {
 #ifdef _EM64T_
-                long val = va_arg(valist, long);
+                int_ptr val = va_arg(valist, int_ptr);
                 mov(Opnd(i64, sp, cs.off(i)), val);
 #else
                 int val = lo32((jlong)(int_ptr)addr);
@@ -382,7 +382,7 @@
         }
         else if (jt==i64) {
 #ifdef _EM64T_
-            long val = va_arg(valist, long);
+            int_ptr val = va_arg(valist, int_ptr);
             mov(gr == gr_x ? Opnd(i64, sp, cs.off(i)) : Opnd(i64, gr), val);
 #else
             assert(false);

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h?rev=653199&r1=653198&r2=653199&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h Sun May  4 04:31:29 2008
@@ -63,6 +63,7 @@
  * @brief A signed integer type, with the same size as a pointer.
  */
 typedef POINTER_SIZE_SINT int_ptr;
+typedef POINTER_SIZE_INT uint_ptr;
 
 /**
  * @brief A dynamically grown byte array.
@@ -559,25 +560,29 @@
         clear(); m_jt = i32; m_lval = ival;
     }
     
+#ifdef POINTER64
     /**
-     * @brief Constructs immediate operand of platform-dependent size.
+     * @brief Constructs #i64 immediate operand.
      *
-     * It's i32 on IA32 and i64 on EM64T and IPF.
+     * @note Using Opnd(int_ptr) on 32-bit architecture leads to ambiguity
+     * with Opnd(int), so Opnd(int_ptr) is under #ifdef.
      */
-    Opnd(long lval)
+    Opnd(int_ptr lval)
     {
         clear(); m_jt = iplatf; m_lval = lval;
     }
     
     /**
-     * @brief Constructs immediate operand of platform-dependent size.
+     * @brief Constructs i64 immediate operand.
      *
-     * It's i32 on IA32 and i64 on EM64T and IPF.
+     * @note Using Opnd(uint_ptr) on 32-bit architecture leads to ambiguity
+     * with Opnd(unsigned), so Opnd(uint_ptr) is under #ifdef.
      */
-    Opnd(unsigned long lval)
+    Opnd(uint_ptr lval)
     {
         clear(); m_jt = iplatf; m_lval = lval;
     }
+#endif
     
     /**
      * @brief Constructs memory operand with no type (jvoid).



Re: [ot] Re: svn commit: r653199 - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet: cg_meth.cpp enc.cpp enc.h

Posted by Aleksey Shipilev <al...@gmail.com>.
Nathan,

That's the commonly used magic number for debug purposes.
More here: http://en.wikipedia.org/wiki/Hexspeak

Thanks,
Aleksey.

On Sun, May 4, 2008 at 9:47 PM, Nathan Beyer <nd...@apache.org> wrote:
> Out of curiosity, does this constant value have special meaning or is it
>  just for fun?
>
>
>   #ifdef _EM64T_
>  -    mov(fill, (unsigned long)0xDEADBEEFDEADBEEF);
>  +    mov(fill, (uint_ptr)0xDEADBEEFDEADBEEF);
>   #else
>     mov(fill, 0xDEADBEEF);
>   #endif
>
>  -Nathan
>
>
>
>  On Sun, May 4, 2008 at 6:31 AM, <mc...@apache.org> wrote:
>
>  > Author: mcfirst
>  > Date: Sun May  4 04:31:29 2008
>  > New Revision: 653199
>  >
>  > URL: http://svn.apache.org/viewvc?rev=653199&view=rev
>  > Log:
>  > Applying the patch from HARMONY-5789 [drlvm][jet] Smoke test
>  > classloader.StreassLoader crashes DRLVM in server mode on Windows x86-64
>  > platform
>  >
>  > Modified:
>  >    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
>  >    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
>  >    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
>  >
>  > Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
>  > URL:
>  > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp?rev=653199&r1=653198&r2=653199&view=diff
>  >
>  > ==============================================================================
>  > --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp (original)
>  > +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp Sun May  4
>  > 04:31:29 2008
>  > @@ -167,7 +167,7 @@
>  >     }
>  >     //
>  >  #ifdef _EM64T_
>  > -    mov(fill, (unsigned long)0xDEADBEEFDEADBEEF);
>  > +    mov(fill, (uint_ptr)0xDEADBEEFDEADBEEF);
>  >  #else
>  >     mov(fill, 0xDEADBEEF);
>  >  #endif
>  >
>  > Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
>  > URL:
>  > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp?rev=653199&r1=653198&r2=653199&view=diff
>  >
>  > ==============================================================================
>  > --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp (original)
>  > +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp Sun May  4
>  > 04:31:29 2008
>  > @@ -370,7 +370,7 @@
>  >             }
>  >             else {
>  >  #ifdef _EM64T_
>  > -                long val = va_arg(valist, long);
>  > +                int_ptr val = va_arg(valist, int_ptr);
>  >                 mov(Opnd(i64, sp, cs.off(i)), val);
>  >  #else
>  >                 int val = lo32((jlong)(int_ptr)addr);
>  > @@ -382,7 +382,7 @@
>  >         }
>  >         else if (jt==i64) {
>  >  #ifdef _EM64T_
>  > -            long val = va_arg(valist, long);
>  > +            int_ptr val = va_arg(valist, int_ptr);
>  >             mov(gr == gr_x ? Opnd(i64, sp, cs.off(i)) : Opnd(i64, gr),
>  > val);
>  >  #else
>  >             assert(false);
>  >
>  > Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
>  > URL:
>  > http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h?rev=653199&r1=653198&r2=653199&view=diff
>  >
>  > ==============================================================================
>  > --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h (original)
>  > +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h Sun May  4
>  > 04:31:29 2008
>  > @@ -63,6 +63,7 @@
>  >  * @brief A signed integer type, with the same size as a pointer.
>  >  */
>  >  typedef POINTER_SIZE_SINT int_ptr;
>  > +typedef POINTER_SIZE_INT uint_ptr;
>  >
>  >  /**
>  >  * @brief A dynamically grown byte array.
>  > @@ -559,25 +560,29 @@
>  >         clear(); m_jt = i32; m_lval = ival;
>  >     }
>  >
>  > +#ifdef POINTER64
>  >     /**
>  > -     * @brief Constructs immediate operand of platform-dependent size.
>  > +     * @brief Constructs #i64 immediate operand.
>  >      *
>  > -     * It's i32 on IA32 and i64 on EM64T and IPF.
>  > +     * @note Using Opnd(int_ptr) on 32-bit architecture leads to
>  > ambiguity
>  > +     * with Opnd(int), so Opnd(int_ptr) is under #ifdef.
>  >      */
>  > -    Opnd(long lval)
>  > +    Opnd(int_ptr lval)
>  >     {
>  >         clear(); m_jt = iplatf; m_lval = lval;
>  >     }
>  >
>  >     /**
>  > -     * @brief Constructs immediate operand of platform-dependent size.
>  > +     * @brief Constructs i64 immediate operand.
>  >      *
>  > -     * It's i32 on IA32 and i64 on EM64T and IPF.
>  > +     * @note Using Opnd(uint_ptr) on 32-bit architecture leads to
>  > ambiguity
>  > +     * with Opnd(unsigned), so Opnd(uint_ptr) is under #ifdef.
>  >      */
>  > -    Opnd(unsigned long lval)
>  > +    Opnd(uint_ptr lval)
>  >     {
>  >         clear(); m_jt = iplatf; m_lval = lval;
>  >     }
>  > +#endif
>  >
>  >     /**
>  >      * @brief Constructs memory operand with no type (jvoid).
>  >
>  >
>  >
>

[ot] Re: svn commit: r653199 - in /harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet: cg_meth.cpp enc.cpp enc.h

Posted by Nathan Beyer <nd...@apache.org>.
Out of curiosity, does this constant value have special meaning or is it
just for fun?

 #ifdef _EM64T_
-    mov(fill, (unsigned long)0xDEADBEEFDEADBEEF);
+    mov(fill, (uint_ptr)0xDEADBEEFDEADBEEF);
 #else
    mov(fill, 0xDEADBEEF);
 #endif

-Nathan

On Sun, May 4, 2008 at 6:31 AM, <mc...@apache.org> wrote:

> Author: mcfirst
> Date: Sun May  4 04:31:29 2008
> New Revision: 653199
>
> URL: http://svn.apache.org/viewvc?rev=653199&view=rev
> Log:
> Applying the patch from HARMONY-5789 [drlvm][jet] Smoke test
> classloader.StreassLoader crashes DRLVM in server mode on Windows x86-64
> platform
>
> Modified:
>    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
>    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
>    harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
>
> Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp?rev=653199&r1=653198&r2=653199&view=diff
>
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp (original)
> +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_meth.cpp Sun May  4
> 04:31:29 2008
> @@ -167,7 +167,7 @@
>     }
>     //
>  #ifdef _EM64T_
> -    mov(fill, (unsigned long)0xDEADBEEFDEADBEEF);
> +    mov(fill, (uint_ptr)0xDEADBEEFDEADBEEF);
>  #else
>     mov(fill, 0xDEADBEEF);
>  #endif
>
> Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp?rev=653199&r1=653198&r2=653199&view=diff
>
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp (original)
> +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.cpp Sun May  4
> 04:31:29 2008
> @@ -370,7 +370,7 @@
>             }
>             else {
>  #ifdef _EM64T_
> -                long val = va_arg(valist, long);
> +                int_ptr val = va_arg(valist, int_ptr);
>                 mov(Opnd(i64, sp, cs.off(i)), val);
>  #else
>                 int val = lo32((jlong)(int_ptr)addr);
> @@ -382,7 +382,7 @@
>         }
>         else if (jt==i64) {
>  #ifdef _EM64T_
> -            long val = va_arg(valist, long);
> +            int_ptr val = va_arg(valist, int_ptr);
>             mov(gr == gr_x ? Opnd(i64, sp, cs.off(i)) : Opnd(i64, gr),
> val);
>  #else
>             assert(false);
>
> Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h
> URL:
> http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h?rev=653199&r1=653198&r2=653199&view=diff
>
> ==============================================================================
> --- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h (original)
> +++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/enc.h Sun May  4
> 04:31:29 2008
> @@ -63,6 +63,7 @@
>  * @brief A signed integer type, with the same size as a pointer.
>  */
>  typedef POINTER_SIZE_SINT int_ptr;
> +typedef POINTER_SIZE_INT uint_ptr;
>
>  /**
>  * @brief A dynamically grown byte array.
> @@ -559,25 +560,29 @@
>         clear(); m_jt = i32; m_lval = ival;
>     }
>
> +#ifdef POINTER64
>     /**
> -     * @brief Constructs immediate operand of platform-dependent size.
> +     * @brief Constructs #i64 immediate operand.
>      *
> -     * It's i32 on IA32 and i64 on EM64T and IPF.
> +     * @note Using Opnd(int_ptr) on 32-bit architecture leads to
> ambiguity
> +     * with Opnd(int), so Opnd(int_ptr) is under #ifdef.
>      */
> -    Opnd(long lval)
> +    Opnd(int_ptr lval)
>     {
>         clear(); m_jt = iplatf; m_lval = lval;
>     }
>
>     /**
> -     * @brief Constructs immediate operand of platform-dependent size.
> +     * @brief Constructs i64 immediate operand.
>      *
> -     * It's i32 on IA32 and i64 on EM64T and IPF.
> +     * @note Using Opnd(uint_ptr) on 32-bit architecture leads to
> ambiguity
> +     * with Opnd(unsigned), so Opnd(uint_ptr) is under #ifdef.
>      */
> -    Opnd(unsigned long lval)
> +    Opnd(uint_ptr lval)
>     {
>         clear(); m_jt = iplatf; m_lval = lval;
>     }
> +#endif
>
>     /**
>      * @brief Constructs memory operand with no type (jvoid).
>
>
>