You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Tim Ellison <t....@gmail.com> on 2008/02/12 20:32:12 UTC

[drlvm][signals] New heuristics for crash handler

Gregory,

Is this appropriate during feature freeze?  Looks like significant new 
functionality.

Do you guarantee all this code going to work perfectly ?! <g>

Regards,
Tim

gshimansky@apache.org wrote:
> Author: gshimansky
> Date: Tue Feb 12 09:30:49 2008
> New Revision: 620872
> 
> URL: http://svn.apache.org/viewvc?rev=620872&view=rev
> Log:
> Applied patch from HARMONY-5490
> [drlvm][signals] New heuristics for crash handler
> 
> 
> Added:
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/linux/native_stack_os.cpp   (with props)
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/native_stack_os.cpp   (with props)
> Modified:
>     harmony/enhanced/drlvm/trunk/vm/port/src/encoder/ia32_em64t/dec_base.cpp
>     harmony/enhanced/drlvm/trunk/vm/port/src/encoder/ia32_em64t/enc_tabl.cpp
>     harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/native_stack.h
>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/ncai_internal.h
>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_core_types.h
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_stack.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/stack/stack_dump.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/em64t/base/native_stack_em64t.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/native_stack_ia32.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/native_stack_ipf.cpp
>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp

Re: [drlvm][signals] New heuristics for crash handler

Posted by Ilya Berezhniuk <il...@gmail.com>.
Tim,

As an author of the patch, I confirm that these changes affect the
code working in case of crash.

The only change affecting general VM code is the following one-line change:
-    {OpcodeInfo::em64t,   {REX_W, 0xFF, _2}, {r_m64},     U },
+    {OpcodeInfo::em64t,   {0xFF, _2},        {r_m64},     U },

Both Intel and AMD specs say that REX prefix is not required here - so
I hope this change is harmless too.

Thanks,
Ilya.


2008/2/12, Tim Ellison <t....@gmail.com>:
> Gregory Shimansky wrote:
> > Tim Ellison said the following on 12.02.2008 22:32:
> >> Gregory,
> >>
> >> Is this appropriate during feature freeze?  Looks like significant new
> >> functionality.
> >
> > Oh. I didn't realize the _feature_ freeze started up already! I only
> > remembered the date 15th of February from your email. I must have not
> > read it carefully enough. The good thing is that this is not a _feature_
> > per say since crash handler had problems printing good stack traces on
> > x86_64, so it could be called a bug to some extent. On the other hand,
> > if I was aware about the freeze, I'd hold on committing such big change.
> >
> >> Do you guarantee all this code going to work perfectly ?! <g>
> >
> > Well, the code in question is targeted to work only in case of a crash
> > which shouldn't happen in the first place. So I hope it is not critical
> > for general stability. If any regression is noticed, I'll revert this
> > commit.
>
> np -- at least you know there is a feature freeze on now.  Sorry for not
> making it clear.
>
> Regards,
> Tim
>

Re: [drlvm][signals] New heuristics for crash handler

Posted by Tim Ellison <t....@gmail.com>.
Gregory Shimansky wrote:
> Tim Ellison said the following on 12.02.2008 22:32:
>> Gregory,
>>
>> Is this appropriate during feature freeze?  Looks like significant new 
>> functionality.
> 
> Oh. I didn't realize the _feature_ freeze started up already! I only 
> remembered the date 15th of February from your email. I must have not 
> read it carefully enough. The good thing is that this is not a _feature_ 
> per say since crash handler had problems printing good stack traces on 
> x86_64, so it could be called a bug to some extent. On the other hand, 
> if I was aware about the freeze, I'd hold on committing such big change.
> 
>> Do you guarantee all this code going to work perfectly ?! <g>
> 
> Well, the code in question is targeted to work only in case of a crash 
> which shouldn't happen in the first place. So I hope it is not critical 
> for general stability. If any regression is noticed, I'll revert this 
> commit.

np -- at least you know there is a feature freeze on now.  Sorry for not 
making it clear.

Regards,
Tim

Re: [drlvm][signals] New heuristics for crash handler

Posted by Gregory Shimansky <gs...@apache.org>.
Tim Ellison said the following on 12.02.2008 22:32:
> Gregory,
> 
> Is this appropriate during feature freeze?  Looks like significant new 
> functionality.

Oh. I didn't realize the _feature_ freeze started up already! I only 
remembered the date 15th of February from your email. I must have not 
read it carefully enough. The good thing is that this is not a _feature_ 
per say since crash handler had problems printing good stack traces on 
x86_64, so it could be called a bug to some extent. On the other hand, 
if I was aware about the freeze, I'd hold on committing such big change.

> Do you guarantee all this code going to work perfectly ?! <g>

Well, the code in question is targeted to work only in case of a crash 
which shouldn't happen in the first place. So I hope it is not critical 
for general stability. If any regression is noticed, I'll revert this 
commit.

> gshimansky@apache.org wrote:
>> Author: gshimansky
>> Date: Tue Feb 12 09:30:49 2008
>> New Revision: 620872
>>
>> URL: http://svn.apache.org/viewvc?rev=620872&view=rev
>> Log:
>> Applied patch from HARMONY-5490
>> [drlvm][signals] New heuristics for crash handler
>>
>>
>> Added:
>>     
>> harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/linux/native_stack_os.cpp   
>> (with props)
>>     
>> harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/native_stack_os.cpp   
>> (with props)
>> Modified:
>>     
>> harmony/enhanced/drlvm/trunk/vm/port/src/encoder/ia32_em64t/dec_base.cpp
>>     
>> harmony/enhanced/drlvm/trunk/vm/port/src/encoder/ia32_em64t/enc_tabl.cpp
>>     
>> harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp 
>>
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/native_stack.h
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/ncai_internal.h
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_core_types.h
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_stack.cpp
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/stack/stack_dump.cpp
>>     
>> harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/em64t/base/native_stack_em64t.cpp 
>>
>>     
>> harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/native_stack_ia32.cpp 
>>
>>     
>> harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/native_stack_ipf.cpp 
>>
>>     harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/native_stack.cpp