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

J.C. jc-nospam@jr-pizarro.jazztel.es
Sat Feb 10 18:15:00 GMT 2007


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.
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?


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /