From: Julian Seward Date: Sat, 23 Apr 2005 22:38:38 +0000 (+0000) Subject: Handle 8-byte value-check failures using a special fast-case fn (like X-Git-Tag: svn/VALGRIND_3_0_0~773 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c0967c97622e2452e5a12a65154ab2fa08fd8a38;p=thirdparty%2Fvalgrind.git 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. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3545 --- diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h index 877319d4b1..0ea9aee816 100644 --- a/memcheck/mc_include.h +++ b/memcheck/mc_include.h @@ -55,8 +55,8 @@ extern Bool MC_(clo_avoid_strlen_errors); /* 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 ); diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 8f88791a6e..bba316d537 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -1493,16 +1493,16 @@ void MC_(helperc_value_check1_fail) ( void ) MC_(record_value_error) ( VG_(get_running_tid)(), 1 ); } -//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 ); } +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 ); diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index dd11f6ed94..ecce5f3c8b 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -702,6 +702,13 @@ static void complainIfUndefined ( MCEnv* mce, IRAtom* atom ) mkIRExprVec_0() ); break; + case 8: + di = unsafeIRDirty_0_N( 0/*regparms*/, + "MC_(helperc_value_check8_fail)", + &MC_(helperc_value_check8_fail), + mkIRExprVec_0() + ); + break; default: di = unsafeIRDirty_0_N( 1/*regparms*/, "MC_(helperc_complain_undef)",