|
From: <sv...@va...> - 2005-04-23 22:38:46
|
Author: sewardj
Date: 2005-04-23 23:38:38 +0100 (Sat, 23 Apr 2005)
New Revision: 3545
Modified:
trunk/memcheck/mc_include.h
trunk/memcheck/mc_main.c
trunk/memcheck/mc_translate.c
Log:
Handle 8-byte value-check failures using a special fast-case fn (like
0,1,4 sized) rather than the generic one. Remove size 2 since that
never seems to get used.
Modified: trunk/memcheck/mc_include.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_include.h 2005-04-23 01:14:51 UTC (rev 3544)
+++ trunk/memcheck/mc_include.h 2005-04-23 22:38:38 UTC (rev 3545)
@@ -55,8 +55,8 @@
=20
/* Functions defined in mc_main.c */
extern VGA_REGPARM(1) void MC_(helperc_complain_undef) ( HWord );
+extern void MC_(helperc_value_check8_fail) ( void );
extern void MC_(helperc_value_check4_fail) ( void );
-extern void MC_(helperc_value_check2_fail) ( void );
extern void MC_(helperc_value_check1_fail) ( void );
extern void MC_(helperc_value_check0_fail) ( void );
=20
Modified: trunk/memcheck/mc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_main.c 2005-04-23 01:14:51 UTC (rev 3544)
+++ trunk/memcheck/mc_main.c 2005-04-23 22:38:38 UTC (rev 3545)
@@ -1493,16 +1493,16 @@
MC_(record_value_error) ( VG_(get_running_tid)(), 1 );
}
=20
-//zz void MC_(helperc_value_check2_fail) ( void )
-//zz {
-//zz MC_(record_value_error) ( VG_(get_running_tid)(), 2 );
-//zz }
-
void MC_(helperc_value_check4_fail) ( void )
{
MC_(record_value_error) ( VG_(get_running_tid)(), 4 );
}
=20
+void MC_(helperc_value_check8_fail) ( void )
+{
+ MC_(record_value_error) ( VG_(get_running_tid)(), 8 );
+}
+
VGA_REGPARM(1) void MC_(helperc_complain_undef) ( HWord sz )
{
MC_(record_value_error) ( VG_(get_running_tid)(), (Int)sz );
Modified: trunk/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_translate.c 2005-04-23 01:14:51 UTC (rev 3544)
+++ trunk/memcheck/mc_translate.c 2005-04-23 22:38:38 UTC (rev 3545)
@@ -702,6 +702,13 @@
mkIRExprVec_0()=20
);
break;
+ case 8:
+ di =3D unsafeIRDirty_0_N( 0/*regparms*/,=20
+ "MC_(helperc_value_check8_fail)",
+ &MC_(helperc_value_check8_fail),
+ mkIRExprVec_0()=20
+ );
+ break;
default:
di =3D unsafeIRDirty_0_N( 1/*regparms*/,=20
"MC_(helperc_complain_undef)",
|