Bugzilla – Bug 316392
[PPC] mini rcheck has failures.
Last modified: 2007-09-15 21:24:46 UTC
---- Reported by vargaz@gmail.com 2004-11-05 12:58:15 MST ---- ---- Additional Comments From vargaz@gmail.com 2004-11-08 08:11:59 MST ---- Fixed on some platforms. ---- Additional Comments From grompf@sublimeintervention.com 2004-11-10 17:10:14 MST ---- Created an attachment (id=167001) proposed patch ---- Additional Comments From grompf@sublimeintervention.com 2004-11-10 23:37:56 MST ---- Created an attachment (id=167002) bigger patch addressing more issues ---- Additional Comments From grompf@sublimeintervention.com 2004-11-10 23:40:46 MST ---- the second patch addresses more issues than just rethrow: HEAD W/O PATCH: Overall results: tests: 4446, failed: 78, opt combinations: 13 (pass: 98.25%) HEAD W/PATCH: Overall results: tests: 4446, failed: 106, opt combinations: 13 (pass: 97.62%) There is a discord here as most of these bugs have actually been fixed; I tracked it down to iltests.exe It claims: Overall results: tests: 273, failed: 80, opt combinations: 13 (pass: 70.70%) However every run reports: Results: total tests: 21, failed: 0, cfailed: 0 (pass: 100.00%) This patch ixes: OverflowException on OP_LCONV_TO_OVF_I OP_RETHROW OverflowException in CEE_REM OverflowException in CEE_DIV OP_LOCALLOC zero out new memory if needed mono_fconv_u4: On X86 if returns 0 on loss precision; on PPC it doesnt. Fixed Which fixes 3 failures in exceptions.cs, iltests.cs, and unsafe-8.cs runtime tests. -kangaroo ---- Additional Comments From grompf@sublimeintervention.com 2004-11-11 16:54:19 MST ---- Created an attachment (id=167003) new patch ---- Additional Comments From grompf@sublimeintervention.com 2004-11-11 17:00:19 MST ---- This new patch removes the OP_RETHROW patch (already applied by lupus) It fixes the OP_LOCALLOC patch (use ctr, rather than ppc_r15/r12 also fixing the iltests failures) It removes the masking patch as lupus specified this shouldn't be fixed right now Overall results: tests: 4446, failed: 26, opt combinations: 13 (pass: 99.42%) If its ok I'll commit with changelog summaries of the changes -kangaroo ---- Additional Comments From lupus@ximian.com 2004-11-12 11:30:23 MST ---- The conditional branch instructions should use the values defined in ppc-codegen.h (PPC_BR_*) instead of magic values and references to branch_b0_table. There is no need for the "& 0xffff" here: ppc_cmpi (code, 0, 0, ins->sreg1, (0 & 0xffff)); Branch addresses and targets should have meaningful names, not br/label. The alternate exception thrown by div/rem should be ArithmetricException, not OverflowException. Emitting the exception should be done with EMIT_COND_SYSTEM_EXCEPTION_FLAGS, so the instruction sequence is shorter and you should either use the likely flag or rearrange the sequence so that the default case of no exception is straight code or we get a pipeline flush every time. ---- Additional Comments From grompf@sublimeintervention.com 2004-11-12 13:51:56 MST ---- Created an attachment (id=167004) updated patch ---- Additional Comments From grompf@sublimeintervention.com 2004-11-12 13:52:17 MST ---- This latest patch should reflect the changes you requested lupus.. -kang ---- Additional Comments From grompf@sublimeintervention.com 2004-11-16 13:47:01 MST ---- Created an attachment (id=167005) patch reflecting more changes lupus requested on irc ---- Additional Comments From grompf@sublimeintervention.com 2004-11-16 18:05:32 MST ---- lupus, this latest patch is causing unsafe-2.cs to fail. (btw; the ppc_li(code, r11, 4) should be a ppc_li(code, r11, sizeof(gpointer)); I've already fixed that locally). I probably wont have time to dig into this until late tomorrow; so if you have a chance it would be appreciated. -kangaroo ---- Additional Comments From grompf@sublimeintervention.com 2004-11-17 02:28:38 MST ---- I found the problem here; I was clobbering r11 with its divided type which was screwing the stack pointer. This is now fixed along with the sizeof (gpointer) attached below -kangaroo ---- Additional Comments From grompf@sublimeintervention.com 2004-11-17 02:29:32 MST ---- Created an attachment (id=167006) re-updated patch ---- Additional Comments From grompf@sublimeintervention.com 2004-11-17 15:56:46 MST ---- Created an attachment (id=167007) svn diff hates me ---- Additional Comments From grompf@sublimeintervention.com 2004-11-17 15:57:46 MST ---- Updated again; the patch before this included the OP_ARGLIST patch (svn diff hates me) Nothing has syntactically changed except for the fact that this is now just addressing whats covered in this but; with OP_ARGLIST still in its bug. -kangaroo ---- Additional Comments From lupus@ximian.com 2004-11-19 12:20:28 MST ---- Thanks for the patch, committed to svn with a few fixes. Imported an attachment (id=167001) Imported an attachment (id=167002) Imported an attachment (id=167003) Imported an attachment (id=167004) Imported an attachment (id=167005) Imported an attachment (id=167006) Imported an attachment (id=167007) Unknown operating system unknown. Setting to default OS "Other".