This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Saving all register of Boehm's Stop-World of hypermodern i686, is it reliable?
- From: Andrew Haley <aph at redhat dot com>
- To: "J.C." <jc-nospam at jr-pizarro dot jazztel dot es>
- Cc: java at gcc dot gnu dot org
- Date: Sat, 10 Feb 2007 18:53:03 +0000
- Subject: Re: Saving all register of Boehm's Stop-World of hypermodern i686, is it reliable?
- References: <45CE0D3B.1080601@jr-pizarro.jazztel.es>
J.C. writes:
> In boehm-gc/pthread_stop_world.c from GCJ-4.3,
> i don't see any specific information of a modern CPU like AMD Athlon64
> AM2 or Intel Pentium-M CoreDuo.
>
> ( to see GC_with_callee_saves_pushed() )
>
> In my opinion, the registers & flags that must to be saved are:
>
> * GP registers & flags (like eax,ebx,..,ebp,esp)
> * FP registers & flags (like ST(0),..,ST(7))
> * MMX registers & flags (from MMX)
> * XMM registers & flags (from SSE, SSE2, SSE3, SSE4, ..)
> * 3DNow+ registers & flags (very specific from AMD)
> * future registers & flags of extensions of new microprocessors.
>
> If not all register of a hypermodern i686 is saved then it can
> soft-crash the application with a certain probability, and it won't be
> good for future searching of unknown bugs.
I think you need to explain to us where you see a vulnerability. In
particular, do you expect pointers to be saved in XMM registers? If
so, please explain why you expect this.
> Too, if any SIMD register can't be used because of it (the
> application or library doesn't support), then the GCC compiler
> doesn't should use SIMD flags, but the GCC can do it.
>
> Then, why are we infra-using the SIMD registers?
What do you mean by "infra-using" ?
Andrew.