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).
>
>
>