Skip to content

Commit f718726

Browse files
committed
Merge pull request #419 from WalterBright/fixtrace
remove unreferenced code
2 parents c74fd3c + a63c61f commit f718726

File tree

1 file changed

+4
-284
lines changed

1 file changed

+4
-284
lines changed

src/rt/trace.d

+4-284
Original file line numberDiff line numberDiff line change
@@ -354,22 +354,17 @@ static void trace_init()
354354
trace_inited = 1;
355355

356356
{ // See if we can determine the overhead.
357-
uint u;
358357
timer_t starttime;
359358
timer_t endtime;
360-
Stack *st;
361359

362-
st = trace_tos;
360+
auto st = trace_tos;
363361
trace_tos = null;
364362
QueryPerformanceCounter(&starttime);
363+
uint u;
365364
for (u = 0; u < 100; u++)
366365
{
367-
asm
368-
{
369-
call _trace_pro_n ;
370-
db 0 ;
371-
call _trace_epi_n ;
372-
}
366+
_c_trace_pro(0,null);
367+
_c_trace_epi();
373368
}
374369
QueryPerformanceCounter(&endtime);
375370
trace_ohd = (endtime - starttime) / u;
@@ -759,281 +754,6 @@ static void trace_merge()
759754
/////////////////////////////////////////////
760755
// Function called by trace code in function prolog.
761756

762-
void _trace_pro_n()
763-
{
764-
/* Length of string is either:
765-
* db length
766-
* ascii string
767-
* or:
768-
* db 0x0FF
769-
* db 0
770-
* dw length
771-
* ascii string
772-
*/
773-
774-
version (OSX)
775-
{
776-
// 16 byte align stack
777-
version (D_InlineAsm_X86)
778-
{
779-
asm
780-
{
781-
naked ;
782-
pushad ;
783-
784-
sub ESP, 4*16 ;
785-
movdqu 0*16[ESP], XMM0 ;
786-
movdqu 1*16[ESP], XMM1 ;
787-
movdqu 2*16[ESP], XMM2 ;
788-
movdqu 3*16[ESP], XMM3 ;
789-
790-
mov ECX,8*4+4*16[ESP] ;
791-
xor EAX,EAX ;
792-
mov AL,[ECX] ;
793-
cmp AL,0xFF ;
794-
jne L1 ;
795-
cmp byte ptr 1[ECX],0 ;
796-
jne L1 ;
797-
mov AX,2[ECX] ;
798-
add 8*4+4*16[ESP],3 ;
799-
add ECX,3 ;
800-
L1: inc EAX ;
801-
inc ECX ;
802-
add 8*4+4*16[ESP],EAX ;
803-
dec EAX ;
804-
sub ESP,4 ;
805-
push ECX ;
806-
push EAX ;
807-
call trace_pro ;
808-
add ESP,12 ;
809-
810-
movdqu XMM0, 0*16[ESP] ;
811-
movdqu XMM1, 1*16[ESP] ;
812-
movdqu XMM2, 2*16[ESP] ;
813-
movdqu XMM3, 3*16[ESP] ;
814-
add ESP, 4*16 ;
815-
816-
popad ;
817-
ret ;
818-
}
819-
}
820-
else version (D_InlineAsm_X86_64)
821-
{
822-
asm
823-
{ naked ;
824-
push RAX ;
825-
push RCX ;
826-
push RDX ;
827-
push RSI ;
828-
push RDI ;
829-
push R8 ;
830-
push R9 ;
831-
push R10 ;
832-
push R11 ;
833-
834-
sub RSP, 8*16 ;
835-
movdqu 0*16[RSP], XMM0 ;
836-
movdqu 1*16[RSP], XMM1 ;
837-
movdqu 2*16[RSP], XMM2 ;
838-
movdqu 3*16[RSP], XMM3 ;
839-
movdqu 4*16[RSP], XMM4 ;
840-
movdqu 5*16[RSP], XMM5 ;
841-
movdqu 6*16[RSP], XMM6 ;
842-
movdqu 7*16[RSP], XMM7 ;
843-
844-
mov RCX,9*8+8*16[RSP] ;
845-
xor RAX,RAX ;
846-
mov AL,[RCX] ;
847-
cmp AL,0xFF ;
848-
jne L1 ;
849-
cmp byte ptr 1[RCX],0 ;
850-
jne L1 ;
851-
mov AX,2[RCX] ;
852-
add 9*8+8*16[RSP],3 ;
853-
add RCX,3 ;
854-
L1: inc RAX ;
855-
inc RCX ;
856-
add 9*8+8*16[RSP],RAX ;
857-
dec RAX ;
858-
// push RCX ;
859-
// push RAX ;
860-
mov RDI,RAX ;
861-
mov RSI,RCX ;
862-
call trace_pro ;
863-
// add RSP,16 ;
864-
865-
movdqu XMM0, 0*16[RSP] ;
866-
movdqu XMM1, 1*16[RSP] ;
867-
movdqu XMM2, 2*16[RSP] ;
868-
movdqu XMM3, 3*16[RSP] ;
869-
movdqu XMM4, 4*16[RSP] ;
870-
movdqu XMM5, 5*16[RSP] ;
871-
movdqu XMM6, 6*16[RSP] ;
872-
movdqu XMM7, 7*16[RSP] ;
873-
add RSP, 8*16 ;
874-
875-
pop R11 ;
876-
pop R10 ;
877-
pop R9 ;
878-
pop R8 ;
879-
pop RDI ;
880-
pop RSI ;
881-
pop RDX ;
882-
pop RCX ;
883-
pop RAX ;
884-
ret ;
885-
}
886-
}
887-
else
888-
static assert(0);
889-
}
890-
else
891-
{
892-
version (D_InlineAsm_X86)
893-
{
894-
asm
895-
{
896-
naked ;
897-
pushad ;
898-
mov ECX,8*4[ESP] ;
899-
xor EAX,EAX ;
900-
mov AL,[ECX] ;
901-
cmp AL,0xFF ;
902-
jne L1 ;
903-
cmp byte ptr 1[ECX],0 ;
904-
jne L1 ;
905-
mov AX,2[ECX] ;
906-
add 8*4[ESP],3 ;
907-
add ECX,3 ;
908-
L1: inc EAX ;
909-
inc ECX ;
910-
add 8*4[ESP],EAX ;
911-
dec EAX ;
912-
push ECX ;
913-
push EAX ;
914-
call trace_pro ;
915-
add ESP,8 ;
916-
popad ;
917-
ret ;
918-
}
919-
}
920-
else version (Win64)
921-
{
922-
asm
923-
{ naked ;
924-
push RAX ;
925-
push RCX ;
926-
push RDX ;
927-
push RSI ;
928-
push RDI ;
929-
push R8 ;
930-
push R9 ;
931-
push R10 ;
932-
push R11 ;
933-
mov RCX,9*8[RSP] ;
934-
xor RAX,RAX ;
935-
mov AL,[RCX] ;
936-
cmp AL,0xFF ;
937-
jne L1 ;
938-
cmp byte ptr 1[RCX],0 ;
939-
jne L1 ;
940-
mov AX,2[RCX] ;
941-
add 9*8[RSP],3 ;
942-
add RCX,3 ;
943-
L1: inc RAX ;
944-
inc RCX ;
945-
add 9*8[RSP],RAX ;
946-
dec RAX ;
947-
sub RSP,0x20 ;
948-
mov 16[RSP],RCX ;
949-
mov 8[RSP],RAX ;
950-
lea RCX,8[RSP] ;
951-
call trace_pro ;
952-
add RSP,0x20 ;
953-
pop R11 ;
954-
pop R10 ;
955-
pop R9 ;
956-
pop R8 ;
957-
pop RDI ;
958-
pop RSI ;
959-
pop RDX ;
960-
pop RCX ;
961-
pop RAX ;
962-
ret ;
963-
}
964-
}
965-
else version (D_InlineAsm_X86_64)
966-
{
967-
asm
968-
{
969-
naked ;
970-
push RAX ;
971-
push RCX ;
972-
push RDX ;
973-
push RSI ;
974-
push RDI ;
975-
push R8 ;
976-
push R9 ;
977-
push R10 ;
978-
push R11 ;
979-
980-
sub RSP, 8*16 ;
981-
movdqu 0*16[RSP], XMM0 ;
982-
movdqu 1*16[RSP], XMM1 ;
983-
movdqu 2*16[RSP], XMM2 ;
984-
movdqu 3*16[RSP], XMM3 ;
985-
movdqu 4*16[RSP], XMM4 ;
986-
movdqu 5*16[RSP], XMM5 ;
987-
movdqu 6*16[RSP], XMM6 ;
988-
movdqu 7*16[RSP], XMM7 ;
989-
990-
mov RCX,9*8+8*16[RSP] ;
991-
xor RAX,RAX ;
992-
mov AL,[RCX] ;
993-
cmp AL,0xFF ;
994-
jne L1 ;
995-
cmp byte ptr 1[RCX],0 ;
996-
jne L1 ;
997-
mov AX,2[RCX] ;
998-
add 9*8+8*16[RSP],3 ;
999-
add RCX,3 ;
1000-
L1: inc RAX ;
1001-
inc RCX ;
1002-
add 9*8+8*16[RSP],RAX ;
1003-
dec RAX ;
1004-
// push RCX ;
1005-
// push RAX ;
1006-
mov RDI,RAX ;
1007-
mov RSI,RCX ;
1008-
call trace_pro ;
1009-
// add RSP,16 ;
1010-
1011-
movdqu XMM0, 0*16[RSP] ;
1012-
movdqu XMM1, 1*16[RSP] ;
1013-
movdqu XMM2, 2*16[RSP] ;
1014-
movdqu XMM3, 3*16[RSP] ;
1015-
movdqu XMM4, 4*16[RSP] ;
1016-
movdqu XMM5, 5*16[RSP] ;
1017-
movdqu XMM6, 6*16[RSP] ;
1018-
movdqu XMM7, 7*16[RSP] ;
1019-
add RSP, 8*16 ;
1020-
1021-
pop R11 ;
1022-
pop R10 ;
1023-
pop R9 ;
1024-
pop R8 ;
1025-
pop RDI ;
1026-
pop RSI ;
1027-
pop RDX ;
1028-
pop RCX ;
1029-
pop RAX ;
1030-
ret ;
1031-
}
1032-
}
1033-
else
1034-
static assert(0);
1035-
}
1036-
}
1037757

1038758
/////////////////////////////////////////////
1039759
// Function called by trace code in function epilog.

0 commit comments

Comments
 (0)