Saving all register of Boehm's Stop-World of hypermodern i686, is it reliable?
Andrew Haley
aph@redhat.com
Sat Feb 10 18:53:00 GMT 2007
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.
More information about the Java
mailing list