You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Salikh Zakirov <Sa...@Intel.com> on 2006/10/04 13:22:37 UTC

[patch][drlvm] Fix compilation on Linux/x86_64

Hi gang,

the below patch fixes the problem that prevents DRLVM from being compilable
on Linux/x86_64.

The TI itself does not work on x86_64, and the modification only fixes
compiler error.

diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp b/vm/vmcore/src/jvmti/jvmti_step.cpp
index d29ef32..b4180f6 100644
--- a/vm/vmcore/src/jvmti/jvmti_step.cpp
+++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
@@ -502,7 +502,7 @@ #endif
 
             const InstructionDisassembler::Opnd& stub_op = stub_disasm.get_opnd(0);
             assert(stub_op.kind == InstructionDisassembler::Kind_Imm);
-            method = (Method *)stub_op.imm;
+            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
         }
     }
 


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by "Geir Magnusson Jr." <ge...@pobox.com>.
Mark, if you don't care, I'm happy to do it as I'm running through DRLVM 
  JIRA chains now.  Let me know by simply un- or re-assigning

geir


Mark Hindess wrote:
> On 5 October 2006 at 13:57, "Ivan Volosyuk" <iv...@gmail.com> wrote:
>> On 10/4/06, Salikh Zakirov <Sa...@intel.com> wrote:
>>>> Salikh Zakirov wrote:
>>>>> The patch turned out to be exact duplicate of HARMONY-1571.
>>>>> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
>>>>>
>>>>> The following change is needed on top of already committed HARMONY-1551
>>>>> to make DRLVM start on Linux/x86_64.
>>>>>
>>>>> However, it still doesn't work properly, failing with
>>>>> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
>>>>> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
>>>>> `!(vt() & 1)' failed.
>>> The assertion failure were caused by the leftover patch from HARMONY-1372,
>>> which didn't make it to SVN (gcv41_em64t_vm_changes.diff)
>> Yes, looks like I forget the change when I have made the last patch in
>> the HARMONY-1372. The patch gcv41_em64t_vm_changes.diff is still in
>> the JIRA. I can create new JIRA issue or one of the commiters can add
>> this missing piece to svn. Geir?
> 
> Unless Geir gets there first I was planning to look at this in the new
> JIRA http://issues.apache.org/jira/browse/HARMONY-1698
> 
> -Mark.
> 
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Mark Hindess <ma...@googlemail.com>.
On 5 October 2006 at 13:57, "Ivan Volosyuk" <iv...@gmail.com> wrote:
> On 10/4/06, Salikh Zakirov <Sa...@intel.com> wrote:
> > > Salikh Zakirov wrote:
> > >> The patch turned out to be exact duplicate of HARMONY-1571.
> > >> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
> > >>
> > >> The following change is needed on top of already committed HARMONY-1551
> > >> to make DRLVM start on Linux/x86_64.
> > >>
> > >> However, it still doesn't work properly, failing with
> > >> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
> > >> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
> > >> `!(vt() & 1)' failed.
> >
> > The assertion failure were caused by the leftover patch from HARMONY-1372,
> > which didn't make it to SVN (gcv41_em64t_vm_changes.diff)
> 
> Yes, looks like I forget the change when I have made the last patch in
> the HARMONY-1372. The patch gcv41_em64t_vm_changes.diff is still in
> the JIRA. I can create new JIRA issue or one of the commiters can add
> this missing piece to svn. Geir?

Unless Geir gets there first I was planning to look at this in the new
JIRA http://issues.apache.org/jira/browse/HARMONY-1698

-Mark.



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Ivan Volosyuk <iv...@gmail.com>.
On 10/4/06, Salikh Zakirov <Sa...@intel.com> wrote:
> > Salikh Zakirov wrote:
> >> The patch turned out to be exact duplicate of HARMONY-1571.
> >> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
> >>
> >> The following change is needed on top of already committed HARMONY-1551
> >> to make DRLVM start on Linux/x86_64.
> >>
> >> However, it still doesn't work properly, failing with
> >> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
> >> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
> >> `!(vt() & 1)' failed.
>
> The assertion failure were caused by the leftover patch from HARMONY-1372,
> which didn't make it to SVN (gcv41_em64t_vm_changes.diff)

Yes, looks like I forget the change when I have made the last patch in
the HARMONY-1372. The patch gcv41_em64t_vm_changes.diff is still in
the JIRA. I can create new JIRA issue or one of the commiters can add
this missing piece to svn. Geir?

-- 
Ivan
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Salikh Zakirov <Sa...@Intel.com>.
Done. HARMONY-1698.

Mark, it looks like you already started looking into it,
that's *real* quick. Thanks a lot!

Geir Magnusson Jr. wrote:
> Can you open a JIRA with this, explaining what needs to be done, and
> linking the other JIRAs as needed?

> Salikh Zakirov wrote:
>> The patch turned out to be exact duplicate of HARMONY-1571.
>> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
>>
>> The following change is needed on top of already committed HARMONY-1551
>> to make DRLVM start on Linux/x86_64.
>>
>> However, it still doesn't work properly, failing with
>> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
>> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
>> `!(vt() & 1)' failed.

The assertion failure were caused by the leftover patch from HARMONY-1372,
which didn't make it to SVN (gcv41_em64t_vm_changes.diff)


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Tim Ellison <t....@gmail.com>.
+1

Rana Dasgupta wrote:
> +1
> 
> And the JIRA has logging properties as well. On several threads now, email
> patches have just caused more confusion, with participants asking if these
> are examples or live code.
> 
> 
> 
>> On 10/4/06, Mikhail Fursov <mi...@gmail.com> wrote:
>> >
>> > I do not like JIRA too, but sending patches by email is even worse:
>> >
>> > 1) There are a lot of opened JIRA issues. How to track them all by
>> > email?
>> > 2) New people have no access to the old email threads
>> > 3) Patches sometimes are too big to be sent by email.
>> >
>> >
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Rana Dasgupta <rd...@gmail.com>.
+1

And the JIRA has logging properties as well. On several threads now, email
patches have just caused more confusion, with participants asking if these
are examples or live code.



> On 10/4/06, Mikhail Fursov <mi...@gmail.com> wrote:
> >
> > I do not like JIRA too, but sending patches by email is even worse:
> >
> > 1) There are a lot of opened JIRA issues. How to track them all by
> > email?
> > 2) New people have no access to the old email threads
> > 3) Patches sometimes are too big to be sent by email.
> >
> >

[OT] E-mail vs. JIRA WAS: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Salikh Zakirov <Sa...@Intel.com>.
Mikhail Fursov wrote:
> I do not like JIRA too, but sending patches by email is even worse:

> 1) There are a lot of opened JIRA issues. How to track them all by email?

Tracking can be done by replying to messages.
And if nobody cares about the patch, JIRA will not help -- patches in JIRA
rot with exactly the same rate as they do in e-mail.

> 2) New people have no access to the old email threads

Not true. Check out 
http://dir.gmane.org/gmane.comp.java.harmony.devel
http://news.gmane.org/gmane.comp.java.harmony.devel

(by the way, I read/post using Gmane NNTP gateway, and this also gives
a fair amount of older postings).

> 3) Patches sometimes are too big to be sent by email.

Agreed. E-mail is not a silver bullet, though it comes close :)


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Mikhail Fursov <mi...@gmail.com>.
I do not like JIRA too, but sending patches by email is even worse:

1) There are a lot of opened JIRA issues. How to track them all by email?
2) New people have no access to the old email threads
3) Patches sometimes are too big to be sent by email.

On 10/4/06, Salikh Zakirov <Sa...@intel.com> wrote:
>
> Okay, I will file a JIRA as soon as I have a complete solution.
>
> A side question: do we have a philosophical justification
> why we as a project prefer to work through JIRA instead of e-mail?
>
> I personally believe that the instruction will not get any clearer
> if it is written in JIRA rather than in e-mail, and also tend to think
> that noone will ever want to know why build on a particular platform
> was failing at some particular point of time in the past.
> Accordingly, I think that transient issues like build failures
> are better served with e-mailed patches.
>
> Geir Magnusson Jr. wrote:
> > Can you open a JIRA with this, explaining what needs to be done, and
> > linking the other JIRAs as needed?
> >
> > Thx
> >
> > geir
> >
> > Salikh Zakirov wrote:
> >> The patch turned out to be exact duplicate of HARMONY-1571.
> >> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
> >>
> >> The following change is needed on top of already committed HARMONY-1551
> >> to make DRLVM start on Linux/x86_64.
> >>
> >> However, it still doesn't work properly, failing with
> >> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
> >> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
> >> `!(vt() & 1)' failed.
> >>
> >> --- a/vm/vmcore/src/jvmti/jvmti_dasm.cpp
> >> +++ b/vm/vmcore/src/jvmti/jvmti_dasm.cpp
> >> @@ -68,9 +68,9 @@ static void convertOperand2Opnd(
> >>  }
> >>
> >>  #ifdef _IPF_
> >> -static const char* get_reg_value(
> >> +const char* InstructionDisassembler::get_reg_value(
> >>      InstructionDisassembler::Register reg,
> >> -    const Registers* pcontext)
> >> +    const Registers* pcontext) const
> >>  {
> >>      assert(0);
> >>      return NULL;
> >> @@ -78,9 +78,9 @@ static const char* get_reg_value(
> >>
> >>  #elif defined _EM64T_
> >>
> >> -static const char* get_reg_value(
> >> +const char* InstructionDisassembler::get_reg_value(
> >>      InstructionDisassembler::Register reg,
> >> -    const Registers* pcontext)
> >> +    const Registers* pcontext) const
> >>  {
> >>      assert(0);
> >>      return NULL;
> >>
> >> Salikh Zakirov wrote:
> >>> Hi gang,
> >>>
> >>> the below patch fixes the problem that prevents DRLVM from being
> >>> compilable
> >>> on Linux/x86_64.
> >>>
> >>> The TI itself does not work on x86_64, and the modification only fixes
> >>> compiler error.
> >>>
> >>> diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp
> >>> b/vm/vmcore/src/jvmti/jvmti_step.cpp
> >>> index d29ef32..b4180f6 100644
> >>> --- a/vm/vmcore/src/jvmti/jvmti_step.cpp
> >>> +++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
> >>> @@ -502,7 +502,7 @@ #endif
> >>>
> >>>              const InstructionDisassembler::Opnd& stub_op =
> >>> stub_disasm.get_opnd(0);
> >>>              assert(stub_op.kind ==
> InstructionDisassembler::Kind_Imm);
> >>> -            method = (Method *)stub_op.imm;
> >>> +            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
> >>>          }
> >>>      }
> >>
> >>
> >> ---------------------------------------------------------------------
> >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >>
> >
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Mikhail Fursov

Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by "Geir Magnusson Jr." <ge...@pobox.com>.

Salikh Zakirov wrote:
> Okay, I will file a JIRA as soon as I have a complete solution.
> 
> A side question: do we have a philosophical justification
> why we as a project prefer to work through JIRA instead of e-mail?
> 
> I personally believe that the instruction will not get any clearer
> if it is written in JIRA rather than in e-mail, and also tend to think
> that noone will ever want to know why build on a particular platform
> was failing at some particular point of time in the past.
> Accordingly, I think that transient issues like build failures
> are better served with e-mailed patches.

A few reasons... first, it's much easier to track where things came 
from, the svn revision, etc.  Second, it's a single record of all 
contributions to the project from non-committers, which is important 
from the perspective of our IP tracking and provenance process.

Also, counting patches makes it easy to evaluate people for 
committership - it's only one element, but an easy one....

geir

> 
> Geir Magnusson Jr. wrote:
>> Can you open a JIRA with this, explaining what needs to be done, and
>> linking the other JIRAs as needed?
>>
>> Thx
>>
>> geir
>>
>> Salikh Zakirov wrote:
>>> The patch turned out to be exact duplicate of HARMONY-1571.
>>> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
>>>
>>> The following change is needed on top of already committed HARMONY-1551
>>> to make DRLVM start on Linux/x86_64.
>>>
>>> However, it still doesn't work properly, failing with
>>> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
>>> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
>>> `!(vt() & 1)' failed.
>>>
>>> --- a/vm/vmcore/src/jvmti/jvmti_dasm.cpp
>>> +++ b/vm/vmcore/src/jvmti/jvmti_dasm.cpp
>>> @@ -68,9 +68,9 @@ static void convertOperand2Opnd(
>>>  }
>>>  
>>>  #ifdef _IPF_
>>> -static const char* get_reg_value(
>>> +const char* InstructionDisassembler::get_reg_value(
>>>      InstructionDisassembler::Register reg,
>>> -    const Registers* pcontext)
>>> +    const Registers* pcontext) const
>>>  {
>>>      assert(0);
>>>      return NULL;
>>> @@ -78,9 +78,9 @@ static const char* get_reg_value(
>>>  
>>>  #elif defined _EM64T_
>>>  
>>> -static const char* get_reg_value(
>>> +const char* InstructionDisassembler::get_reg_value(
>>>      InstructionDisassembler::Register reg,
>>> -    const Registers* pcontext)
>>> +    const Registers* pcontext) const
>>>  {
>>>      assert(0);
>>>      return NULL;
>>>
>>> Salikh Zakirov wrote:
>>>> Hi gang,
>>>>
>>>> the below patch fixes the problem that prevents DRLVM from being
>>>> compilable
>>>> on Linux/x86_64.
>>>>
>>>> The TI itself does not work on x86_64, and the modification only fixes
>>>> compiler error.
>>>>
>>>> diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp
>>>> b/vm/vmcore/src/jvmti/jvmti_step.cpp
>>>> index d29ef32..b4180f6 100644
>>>> --- a/vm/vmcore/src/jvmti/jvmti_step.cpp
>>>> +++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
>>>> @@ -502,7 +502,7 @@ #endif
>>>>  
>>>>              const InstructionDisassembler::Opnd& stub_op =
>>>> stub_disasm.get_opnd(0);
>>>>              assert(stub_op.kind == InstructionDisassembler::Kind_Imm);
>>>> -            method = (Method *)stub_op.imm;
>>>> +            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
>>>>          }
>>>>      }
>>>
>>> ---------------------------------------------------------------------
>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Salikh Zakirov <Sa...@Intel.com>.
Okay, I will file a JIRA as soon as I have a complete solution.

A side question: do we have a philosophical justification
why we as a project prefer to work through JIRA instead of e-mail?

I personally believe that the instruction will not get any clearer
if it is written in JIRA rather than in e-mail, and also tend to think
that noone will ever want to know why build on a particular platform
was failing at some particular point of time in the past.
Accordingly, I think that transient issues like build failures
are better served with e-mailed patches.

Geir Magnusson Jr. wrote:
> Can you open a JIRA with this, explaining what needs to be done, and
> linking the other JIRAs as needed?
> 
> Thx
> 
> geir
> 
> Salikh Zakirov wrote:
>> The patch turned out to be exact duplicate of HARMONY-1571.
>> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
>>
>> The following change is needed on top of already committed HARMONY-1551
>> to make DRLVM start on Linux/x86_64.
>>
>> However, it still doesn't work properly, failing with
>> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167:
>> Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion
>> `!(vt() & 1)' failed.
>>
>> --- a/vm/vmcore/src/jvmti/jvmti_dasm.cpp
>> +++ b/vm/vmcore/src/jvmti/jvmti_dasm.cpp
>> @@ -68,9 +68,9 @@ static void convertOperand2Opnd(
>>  }
>>  
>>  #ifdef _IPF_
>> -static const char* get_reg_value(
>> +const char* InstructionDisassembler::get_reg_value(
>>      InstructionDisassembler::Register reg,
>> -    const Registers* pcontext)
>> +    const Registers* pcontext) const
>>  {
>>      assert(0);
>>      return NULL;
>> @@ -78,9 +78,9 @@ static const char* get_reg_value(
>>  
>>  #elif defined _EM64T_
>>  
>> -static const char* get_reg_value(
>> +const char* InstructionDisassembler::get_reg_value(
>>      InstructionDisassembler::Register reg,
>> -    const Registers* pcontext)
>> +    const Registers* pcontext) const
>>  {
>>      assert(0);
>>      return NULL;
>>
>> Salikh Zakirov wrote:
>>> Hi gang,
>>>
>>> the below patch fixes the problem that prevents DRLVM from being
>>> compilable
>>> on Linux/x86_64.
>>>
>>> The TI itself does not work on x86_64, and the modification only fixes
>>> compiler error.
>>>
>>> diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp
>>> b/vm/vmcore/src/jvmti/jvmti_step.cpp
>>> index d29ef32..b4180f6 100644
>>> --- a/vm/vmcore/src/jvmti/jvmti_step.cpp
>>> +++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
>>> @@ -502,7 +502,7 @@ #endif
>>>  
>>>              const InstructionDisassembler::Opnd& stub_op =
>>> stub_disasm.get_opnd(0);
>>>              assert(stub_op.kind == InstructionDisassembler::Kind_Imm);
>>> -            method = (Method *)stub_op.imm;
>>> +            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
>>>          }
>>>      }
>>
>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by "Geir Magnusson Jr." <ge...@pobox.com>.
Can you open a JIRA with this, explaining what needs to be done, and 
linking the other JIRAs as needed?

Thx

geir

Salikh Zakirov wrote:
> The patch turned out to be exact duplicate of HARMONY-1571.
> Besides, there exist a patch with fixes for unit tests: HARMONY-1574.
> 
> The following change is needed on top of already committed HARMONY-1551
> to make DRLVM start on Linux/x86_64.
> 
> However, it still doesn't work properly, failing with
> java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167: Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion `!(vt() & 1)' failed.
> 
> --- a/vm/vmcore/src/jvmti/jvmti_dasm.cpp
> +++ b/vm/vmcore/src/jvmti/jvmti_dasm.cpp
> @@ -68,9 +68,9 @@ static void convertOperand2Opnd(
>  }
>  
>  #ifdef _IPF_
> -static const char* get_reg_value(
> +const char* InstructionDisassembler::get_reg_value(
>      InstructionDisassembler::Register reg,
> -    const Registers* pcontext)
> +    const Registers* pcontext) const
>  {
>      assert(0);
>      return NULL;
> @@ -78,9 +78,9 @@ static const char* get_reg_value(
>  
>  #elif defined _EM64T_
>  
> -static const char* get_reg_value(
> +const char* InstructionDisassembler::get_reg_value(
>      InstructionDisassembler::Register reg,
> -    const Registers* pcontext)
> +    const Registers* pcontext) const
>  {
>      assert(0);
>      return NULL;
> 
> Salikh Zakirov wrote:
>> Hi gang,
>>
>> the below patch fixes the problem that prevents DRLVM from being compilable
>> on Linux/x86_64.
>>
>> The TI itself does not work on x86_64, and the modification only fixes
>> compiler error.
>>
>> diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp b/vm/vmcore/src/jvmti/jvmti_step.cpp
>> index d29ef32..b4180f6 100644
>> --- a/vm/vmcore/src/jvmti/jvmti_step.cpp
>> +++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
>> @@ -502,7 +502,7 @@ #endif
>>  
>>              const InstructionDisassembler::Opnd& stub_op = stub_disasm.get_opnd(0);
>>              assert(stub_op.kind == InstructionDisassembler::Kind_Imm);
>> -            method = (Method *)stub_op.imm;
>> +            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
>>          }
>>      }
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [patch][drlvm] Fix compilation on Linux/x86_64

Posted by Salikh Zakirov <Sa...@Intel.com>.
The patch turned out to be exact duplicate of HARMONY-1571.
Besides, there exist a patch with fixes for unit tests: HARMONY-1574.

The following change is needed on top of already committed HARMONY-1551
to make DRLVM start on Linux/x86_64.

However, it still doesn't work properly, failing with
java: /files/sszakiro/harmony/drlvm/trunk/vm/gc/src/gc_types.h:167: Partial_Reveal_VTable* Partial_Reveal_Object::vtable(): Assertion `!(vt() & 1)' failed.

--- a/vm/vmcore/src/jvmti/jvmti_dasm.cpp
+++ b/vm/vmcore/src/jvmti/jvmti_dasm.cpp
@@ -68,9 +68,9 @@ static void convertOperand2Opnd(
 }
 
 #ifdef _IPF_
-static const char* get_reg_value(
+const char* InstructionDisassembler::get_reg_value(
     InstructionDisassembler::Register reg,
-    const Registers* pcontext)
+    const Registers* pcontext) const
 {
     assert(0);
     return NULL;
@@ -78,9 +78,9 @@ static const char* get_reg_value(
 
 #elif defined _EM64T_
 
-static const char* get_reg_value(
+const char* InstructionDisassembler::get_reg_value(
     InstructionDisassembler::Register reg,
-    const Registers* pcontext)
+    const Registers* pcontext) const
 {
     assert(0);
     return NULL;

Salikh Zakirov wrote:
> Hi gang,
> 
> the below patch fixes the problem that prevents DRLVM from being compilable
> on Linux/x86_64.
> 
> The TI itself does not work on x86_64, and the modification only fixes
> compiler error.
> 
> diff --git a/vm/vmcore/src/jvmti/jvmti_step.cpp b/vm/vmcore/src/jvmti/jvmti_step.cpp
> index d29ef32..b4180f6 100644
> --- a/vm/vmcore/src/jvmti/jvmti_step.cpp
> +++ b/vm/vmcore/src/jvmti/jvmti_step.cpp
> @@ -502,7 +502,7 @@ #endif
>  
>              const InstructionDisassembler::Opnd& stub_op = stub_disasm.get_opnd(0);
>              assert(stub_op.kind == InstructionDisassembler::Kind_Imm);
> -            method = (Method *)stub_op.imm;
> +            method = (Method *)(POINTER_SIZE_INT)stub_op.imm;
>          }
>      }


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org