This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Saving all register of Boehm's Stop-World of hypermodern i686, is it reliable?


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]