|
From: <sv...@va...> - 2012-04-04 12:23:30
|
sewardj 2012-04-04 13:23:23 +0100 (Wed, 04 Apr 2012)
New Revision: 12486
Log:
Make the return type of VG_(disp_run_translations) be void, rather
than the HWord it was claimed to be. Inconsistency spotted by
Philippe Waroquiers.
Modified files:
branches/TCHAIN/coregrind/m_dispatch/dispatch-amd64-linux.S
branches/TCHAIN/coregrind/m_dispatch/dispatch-arm-linux.S
branches/TCHAIN/coregrind/m_dispatch/dispatch-x86-linux.S
branches/TCHAIN/coregrind/m_scheduler/scheduler.c
branches/TCHAIN/coregrind/pub_core_dispatch.h
Modified: branches/TCHAIN/coregrind/m_dispatch/dispatch-arm-linux.S (+3 -3)
===================================================================
--- branches/TCHAIN/coregrind/m_dispatch/dispatch-arm-linux.S 2012-04-03 11:51:27 +01:00 (rev 12485)
+++ branches/TCHAIN/coregrind/m_dispatch/dispatch-arm-linux.S 2012-04-04 13:23:23 +01:00 (rev 12486)
@@ -50,9 +50,9 @@
/*----------------------------------------------------*/
/* signature:
-UWord VG_(disp_run_translations)( UWord* two_words,
- void* guest_state,
- Addr host_addr );
+void VG_(disp_run_translations)( UWord* two_words,
+ void* guest_state,
+ Addr host_addr );
*/
.text
.global VG_(disp_run_translations)
Modified: branches/TCHAIN/coregrind/m_dispatch/dispatch-x86-linux.S (+3 -3)
===================================================================
--- branches/TCHAIN/coregrind/m_dispatch/dispatch-x86-linux.S 2012-04-03 11:51:27 +01:00 (rev 12485)
+++ branches/TCHAIN/coregrind/m_dispatch/dispatch-x86-linux.S 2012-04-04 13:23:23 +01:00 (rev 12486)
@@ -49,9 +49,9 @@
/*----------------------------------------------------*/
/* signature:
-UWord VG_(disp_run_translations)( UWord* two_words,
- void* guest_state,
- Addr host_addr );
+void VG_(disp_run_translations)( UWord* two_words,
+ void* guest_state,
+ Addr host_addr );
*/
.text
.globl VG_(disp_run_translations)
Modified: branches/TCHAIN/coregrind/m_dispatch/dispatch-amd64-linux.S (+3 -3)
===================================================================
--- branches/TCHAIN/coregrind/m_dispatch/dispatch-amd64-linux.S 2012-04-03 11:51:27 +01:00 (rev 12485)
+++ branches/TCHAIN/coregrind/m_dispatch/dispatch-amd64-linux.S 2012-04-04 13:23:23 +01:00 (rev 12486)
@@ -50,9 +50,9 @@
/*----------------------------------------------------*/
/* signature:
-UWord VG_(disp_run_translations)( UWord* two_words,
- void* guest_state,
- Addr host_addr );
+void VG_(disp_run_translations)( UWord* two_words,
+ void* guest_state,
+ Addr host_addr );
*/
.text
.globl VG_(disp_run_translations)
Modified: branches/TCHAIN/coregrind/m_scheduler/scheduler.c (+6 -7)
===================================================================
--- branches/TCHAIN/coregrind/m_scheduler/scheduler.c 2012-04-03 11:51:27 +01:00 (rev 12485)
+++ branches/TCHAIN/coregrind/m_scheduler/scheduler.c 2012-04-04 13:23:23 +01:00 (rev 12486)
@@ -818,7 +818,6 @@
{
volatile HWord jumped = 0;
volatile ThreadState* tst = NULL; /* stop gcc complaining */
- volatile UInt trc = 0;
volatile Int done_this_time = 0;
volatile HWord host_code_addr = 0;
@@ -894,11 +893,11 @@
SCHEDSETJMP(
tid,
jumped,
- trc = (UInt)VG_(disp_run_translations)(
- two_words,
- (void*)&tst->arch.vex,
- host_code_addr
- )
+ VG_(disp_run_translations)(
+ two_words,
+ (void*)&tst->arch.vex,
+ host_code_addr
+ )
);
vg_assert(VG_(in_generated_code) == True);
@@ -907,7 +906,7 @@
if (jumped != (HWord)0) {
/* We get here if the client took a fault that caused our signal
handler to longjmp. */
- vg_assert(trc == 0);
+ vg_assert(two_words[0] == 0 && two_words[1] == 0); // correct?
two_words[0] = VG_TRC_FAULT_SIGNAL;
two_words[1] = 0;
block_signals();
Modified: branches/TCHAIN/coregrind/pub_core_dispatch.h (+3 -3)
===================================================================
--- branches/TCHAIN/coregrind/pub_core_dispatch.h 2012-04-03 11:51:27 +01:00 (rev 12485)
+++ branches/TCHAIN/coregrind/pub_core_dispatch.h 2012-04-04 13:23:23 +01:00 (rev 12486)
@@ -60,9 +60,9 @@
a TRC value. Second is generally unused, except in the case
where we have to return a chain-me request.
*/
-HWord VG_(disp_run_translations)( HWord* two_words,
- void* guest_state,
- Addr host_addr );
+void VG_(disp_run_translations)( HWord* two_words,
+ void* guest_state,
+ Addr host_addr );
/* We need to know addresses of the continuation-point (cp_) labels so
we can tell VEX what they are. They will get baked into the code
|