comparison src/os_cpu/windows_x86/vm/os_windows_x86.cpp @ 1681:126ea7725993

6953477: Increase portability and flexibility of building Hotspot Summary: A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail. Reviewed-by: phh, never, coleenp, dholmes
author bobv
date Tue, 03 Aug 2010 08:13:38 -0400
parents c18cbe5936b8
children 3e8fbc61cee8
comparison
equal deleted inserted replaced
1680:a64438a2b7e8 1681:126ea7725993
375 375
376 CONTEXT* uc = (CONTEXT*)context; 376 CONTEXT* uc = (CONTEXT*)context;
377 377
378 st->print_cr("Registers:"); 378 st->print_cr("Registers:");
379 #ifdef AMD64 379 #ifdef AMD64
380 st->print( "EAX=" INTPTR_FORMAT, uc->Rax); 380 st->print( "RAX=" INTPTR_FORMAT, uc->Rax);
381 st->print(", EBX=" INTPTR_FORMAT, uc->Rbx); 381 st->print(", RBX=" INTPTR_FORMAT, uc->Rbx);
382 st->print(", ECX=" INTPTR_FORMAT, uc->Rcx); 382 st->print(", RCX=" INTPTR_FORMAT, uc->Rcx);
383 st->print(", EDX=" INTPTR_FORMAT, uc->Rdx); 383 st->print(", RDX=" INTPTR_FORMAT, uc->Rdx);
384 st->cr(); 384 st->cr();
385 st->print( "ESP=" INTPTR_FORMAT, uc->Rsp); 385 st->print( "RSP=" INTPTR_FORMAT, uc->Rsp);
386 st->print(", EBP=" INTPTR_FORMAT, uc->Rbp); 386 st->print(", RBP=" INTPTR_FORMAT, uc->Rbp);
387 st->print(", ESI=" INTPTR_FORMAT, uc->Rsi); 387 st->print(", RSI=" INTPTR_FORMAT, uc->Rsi);
388 st->print(", EDI=" INTPTR_FORMAT, uc->Rdi); 388 st->print(", RDI=" INTPTR_FORMAT, uc->Rdi);
389 st->cr(); 389 st->cr();
390 st->print( "EIP=" INTPTR_FORMAT, uc->Rip); 390 st->print( "R8=" INTPTR_FORMAT, uc->R8);
391 st->print(", R9=" INTPTR_FORMAT, uc->R9);
392 st->print(", R10=" INTPTR_FORMAT, uc->R10);
393 st->print(", R11=" INTPTR_FORMAT, uc->R11);
394 st->cr();
395 st->print( "R12=" INTPTR_FORMAT, uc->R12);
396 st->print(", R13=" INTPTR_FORMAT, uc->R13);
397 st->print(", R14=" INTPTR_FORMAT, uc->R14);
398 st->print(", R15=" INTPTR_FORMAT, uc->R15);
399 st->cr();
400 st->print( "RIP=" INTPTR_FORMAT, uc->Rip);
391 st->print(", EFLAGS=" INTPTR_FORMAT, uc->EFlags); 401 st->print(", EFLAGS=" INTPTR_FORMAT, uc->EFlags);
402
403 st->cr();
404 st->cr();
405
406 st->print_cr("Register to memory mapping:");
407 st->cr();
408
409 // this is only for the "general purpose" registers
410
411 st->print_cr("RAX=" INTPTR_FORMAT, uc->Rax);
412 print_location(st, uc->Rax);
413 st->cr();
414 st->print_cr("RBX=" INTPTR_FORMAT, uc->Rbx);
415 print_location(st, uc->Rbx);
416 st->cr();
417 st->print_cr("RCX=" INTPTR_FORMAT, uc->Rcx);
418 print_location(st, uc->Rcx);
419 st->cr();
420 st->print_cr("RDX=" INTPTR_FORMAT, uc->Rdx);
421 print_location(st, uc->Rdx);
422 st->cr();
423 st->print_cr("RSP=" INTPTR_FORMAT, uc->Rsp);
424 print_location(st, uc->Rsp);
425 st->cr();
426 st->print_cr("RBP=" INTPTR_FORMAT, uc->Rbp);
427 print_location(st, uc->Rbp);
428 st->cr();
429 st->print_cr("RSI=" INTPTR_FORMAT, uc->Rsi);
430 print_location(st, uc->Rsi);
431 st->cr();
432 st->print_cr("RDI=" INTPTR_FORMAT, uc->Rdi);
433 print_location(st, uc->Rdi);
434 st->cr();
435 st->print_cr("R8 =" INTPTR_FORMAT, uc->R8);
436 print_location(st, uc->R8);
437 st->cr();
438 st->print_cr("R9 =" INTPTR_FORMAT, uc->R9);
439 print_location(st, uc->R9);
440 st->cr();
441 st->print_cr("R10=" INTPTR_FORMAT, uc->R10);
442 print_location(st, uc->R10);
443 st->cr();
444 st->print_cr("R11=" INTPTR_FORMAT, uc->R11);
445 print_location(st, uc->R11);
446 st->cr();
447 st->print_cr("R12=" INTPTR_FORMAT, uc->R12);
448 print_location(st, uc->R12);
449 st->cr();
450 st->print_cr("R13=" INTPTR_FORMAT, uc->R13);
451 print_location(st, uc->R13);
452 st->cr();
453 st->print_cr("R14=" INTPTR_FORMAT, uc->R14);
454 print_location(st, uc->R14);
455 st->cr();
456 st->print_cr("R15=" INTPTR_FORMAT, uc->R15);
457 print_location(st, uc->R15);
392 #else 458 #else
393 st->print( "EAX=" INTPTR_FORMAT, uc->Eax); 459 st->print( "EAX=" INTPTR_FORMAT, uc->Eax);
394 st->print(", EBX=" INTPTR_FORMAT, uc->Ebx); 460 st->print(", EBX=" INTPTR_FORMAT, uc->Ebx);
395 st->print(", ECX=" INTPTR_FORMAT, uc->Ecx); 461 st->print(", ECX=" INTPTR_FORMAT, uc->Ecx);
396 st->print(", EDX=" INTPTR_FORMAT, uc->Edx); 462 st->print(", EDX=" INTPTR_FORMAT, uc->Edx);
400 st->print(", ESI=" INTPTR_FORMAT, uc->Esi); 466 st->print(", ESI=" INTPTR_FORMAT, uc->Esi);
401 st->print(", EDI=" INTPTR_FORMAT, uc->Edi); 467 st->print(", EDI=" INTPTR_FORMAT, uc->Edi);
402 st->cr(); 468 st->cr();
403 st->print( "EIP=" INTPTR_FORMAT, uc->Eip); 469 st->print( "EIP=" INTPTR_FORMAT, uc->Eip);
404 st->print(", EFLAGS=" INTPTR_FORMAT, uc->EFlags); 470 st->print(", EFLAGS=" INTPTR_FORMAT, uc->EFlags);
471
472 st->cr();
473 st->cr();
474
475 st->print_cr("Register to memory mapping:");
476 st->cr();
477
478 // this is only for the "general purpose" registers
479
480 st->print_cr("EAX=" INTPTR_FORMAT, uc->Eax);
481 print_location(st, uc->Eax);
482 st->cr();
483 st->print_cr("EBX=" INTPTR_FORMAT, uc->Ebx);
484 print_location(st, uc->Ebx);
485 st->cr();
486 st->print_cr("ECX=" INTPTR_FORMAT, uc->Ecx);
487 print_location(st, uc->Ecx);
488 st->cr();
489 st->print_cr("EDX=" INTPTR_FORMAT, uc->Edx);
490 print_location(st, uc->Edx);
491 st->cr();
492 st->print_cr("ESP=" INTPTR_FORMAT, uc->Esp);
493 print_location(st, uc->Esp);
494 st->cr();
495 st->print_cr("EBP=" INTPTR_FORMAT, uc->Ebp);
496 print_location(st, uc->Ebp);
497 st->cr();
498 st->print_cr("ESI=" INTPTR_FORMAT, uc->Esi);
499 print_location(st, uc->Esi);
500 st->cr();
501 st->print_cr("EDI=" INTPTR_FORMAT, uc->Edi);
502 print_location(st, uc->Edi);
405 #endif // AMD64 503 #endif // AMD64
406 st->cr(); 504 st->cr();
407 st->cr(); 505 st->cr();
408 506
409 intptr_t *sp = (intptr_t *)uc->REG_SP; 507 intptr_t *sp = (intptr_t *)uc->REG_SP;