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, <[EMAIL PROTECTED]> 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).
>
>
>