Commit Graph
755 Commits
Author SHA1 Message Date
Steve Checkoway a4061b645d Add a timeout while waiting for the parent to finish clean up or die. 2006-08-06 03:52:46 +00:00
Steve Checkoway 5eb4341786 Add build date and architecture. (Date is already in Windows crash report but architecture isn't and I can't build for windows so someone else can do it if so desired.) 2006-08-05 02:39:58 +00:00
Steve Checkoway 50e35457dc Cleanup. 2006-08-05 01:48:11 +00:00
Steve Checkoway cfdb3b9ae1 Simplify. IntValue() already checks that. 2006-08-05 01:37:31 +00:00
Steve Checkoway 13be8ec089 Cleanup. 2006-08-05 01:27:21 +00:00
Steve Checkoway b95f8b15e7 Unneeded header. 2006-08-05 01:08:45 +00:00
Steve Checkoway eeb4720b23 Wrong header. 2006-08-05 01:03:36 +00:00
Steve Checkoway a693421b06 Unused. 2006-07-26 01:46:52 +00:00
Glenn Maynard b5c16eb9c1 cleanup 2006-07-21 18:45:11 +00:00
Steve Checkoway a07e194cf1 Revert. Fixes Linux build. 2006-07-18 05:51:37 +00:00
Jason Felds 11cff15f6f Fix VC8 macro redef warning. (DONE!) 2006-07-18 03:58:34 +00:00
Steve Checkoway bd7422ef6e Specialize on aligned loads for sse since misaligned loads are much slower. 2006-07-17 00:42:46 +00:00
Thad Ward 381c7f0b69 VC6 fixes:
remove duplicate typedef
add typedefs for new PSDK types
move the disabling of warnings to the top of the file. (4786 was going off
on the templates directly below the new location)
2006-07-14 08:07:06 +00:00
Glenn Maynard 87cc6c593f real fix for VC6 2006-06-24 05:40:12 +00:00
Steve Checkoway 7c8b1903e4 The sse version works correctly and is implemented portable. The only problem is that at least for linux, memory allocated on the heap isn't guaranteed to be 16 byte aligned and FastSoundRead() depends on both dest and src being 16 byte aligned. This could easily be overcome in the same way as FastSoundWrite. 2006-06-19 05:24:41 +00:00
Steve Checkoway 7dce2e2825 Fix the (unused) float version for sse. 2006-06-19 05:21:10 +00:00
Steve Checkoway b8e1db595a Fix the (unused) float version for altivec. 2006-06-19 04:04:10 +00:00
Steve Checkoway 7ba8eefebf Apparently we want data1 before data2. (Tested.) 2006-06-19 03:21:25 +00:00
Steve Checkoway 7dbdc89b8c Fix misaligned load/store. Also, these are little endian so merge the low order bytes first. Since this code _is_ portable, I can test it on x86 linux. 2006-06-19 02:53:14 +00:00
Steve Checkoway 36f6042ef0 Cleanup. 2006-06-18 18:49:23 +00:00
Steve Checkoway de4a22d9e0 Reuse variables. (I'm hope gcc was smart enough to reuse the registers on its own, but I didn't actually check. This way we should be using fewer than 32.) 2006-06-18 18:41:22 +00:00
Steve Checkoway 66dfad63b0 Be careful not to read past the end of the data. With aligned loads (which are every load in altivec), it is always okay to load a vector if you can access any element of that vector. It is not always okay to load the next vector. 2006-06-18 18:30:28 +00:00
Steve Checkoway acf04db9f9 Implement with SSE but don't enable since I can't test it. It should be portable since I used Intel's intrinsics. 2006-06-18 18:10:14 +00:00
Steve Checkoway aef9e00016 Implement IsDebuggerPresent() and DebugBreak() in OS X. This uses an unstable api so it will only be in debug builds. 2006-06-16 07:18:39 +00:00
Glenn Maynard f0b7631e3a use standard name "isfinite", not "finite" 2006-06-15 03:15:41 +00:00
Steve Checkoway af5f6f4edb Cleanup. 2006-06-13 12:41:40 +00:00
Steve Checkoway b7c1412a70 Re-enable vector code. FastSoundWrite can now handle a dest that is not 16 byte aligned although it will be fastest if dest is 16 byte aligned and size is a multiple of 8. 2006-06-13 12:30:51 +00:00
Steve Checkoway f30c1d797e Disable vector code for now until I fix the case where dest is unaligned. 2006-06-13 07:58:58 +00:00
Steve Checkoway e0d0cb0c3a Just copy the rest of the macros. 2006-06-12 06:06:39 +00:00
Chris Danford e2eb5135e5 add international keyboard support 2006-06-11 07:12:01 +00:00
Steve Checkoway 2754fd0f18 Perform the same loop unrolling for Read. This eliminate all stalls in the loop for all processors with altivec (well, at least both G4s (IBM 7400 and 7450) and the G5 (IBM 970) processors. I didn't bother for the other read function since it isn't actually used and is included more for completeness than anything else (plus, these were a lot of fun to write). 2006-05-17 09:59:34 +00:00
Steve Checkoway 177e65a34c Do gcc's job for it and do sane loop unrolling. The (now second) while loop was stalling the pipeline almost as often as it was doing useful work. When gcc tried to do loop unrolling (i.e. when I changed the condition to size >= 8), it produced 4 _identical_ copies of the loop, each of which had the same number of stalls (this is all with the G5, the G4 had one stall in the loop). By unrolling and doing the most basic of instruction scheduling, this produces the same amount of code as gcc does but with 1 stall in the big loop (0 for the G4) but the same number in the second loop which is executed at most 3 times.
To keep gcc from unrolling the second loop, I'm using the bit masking condition which confuses the optimizer.

Note that this behavior won't change unless we stop targeting any OS below 10.3.9 and move to a more recent version of gcc (whose behavior I haven't bothered to test).
2006-05-17 09:27:54 +00:00
Steve Checkoway 51b2438668 Remove, again. 2006-05-14 09:14:28 +00:00
Steve Checkoway b912d61546 Following Wolfman's example, some comments so that maybe next time I look at this I won't see vec_ctf and think "capture the flag?" 2006-05-14 08:13:16 +00:00
Steve Checkoway f39e79efed The last of the changes, I hope. 2006-05-14 07:04:28 +00:00
Steve Checkoway 60d3b90552 I thought I fixed this already. This section ranges from 42 to 47. 2006-05-07 11:13:21 +00:00
Steve Checkoway 2f95767104 Year. 2006-04-29 11:41:33 +00:00
Steve Checkoway 53f0531bba Reimplement without using Cocoa. Put crashinfo.txt into ~/Library/Logs/PRODUCT_ID along with log.txt and info.txt. 2006-04-29 11:38:49 +00:00
Steve Checkoway cb4c2f5c53 Cleanup. 2006-04-29 09:26:45 +00:00
Glenn Maynard f486609781 if eip is NULL, don't put a NULL into the frame list and terminate it prematurely 2006-04-08 12:44:40 +00:00
Steve Checkoway e13fc56198 Initial linux ppc backtrace implementation. 2006-04-05 00:49:56 +00:00
Glenn Maynard 76f0346122 checkpoint paranoia 2006-03-30 08:10:11 +00:00
Steve Checkoway 61363eff0b Use Frame*. 2006-03-29 11:21:44 +00:00
Glenn Maynard 84f87db44d Do include offset information for internal symbols (not just DLLs). They're helpful
for narrowing down exactly where we are in a function.
2006-03-29 04:48:39 +00:00
Glenn Maynard cec466b584 update 2006-03-29 04:45:58 +00:00
Glenn Maynard e7d45c189b Always include the "___ImageBase" symbol, so the first RVA entry
is always (hopefully) the base of the EXE.  That way, we can display
consistent offsets relative to that.
2006-03-29 04:45:12 +00:00
Glenn Maynard ea298ce438 cleanup 2006-03-29 01:43:51 +00:00
Glenn Maynard 5d8a93c19a checkpoints 2006-03-29 01:43:18 +00:00
Steve Checkoway 1a240d3b6c Cleanup. 2006-03-28 14:37:40 +00:00
Steve Checkoway 81afe152ec Oops, two changes in that last commit. Don't have the child kill the parent any longer. This doesn't work when gdb is tracing. Why is the parent waiting for the child anyway? It shouldn't really matter that much if the child is signaled.
Also, why doesn't RunCrashHandler call _exit()? ForceDeadlock() calls _exit() after RunCrashHandler(), but ForceCrash does not, it has to go back to sm_crash() before _exit() is called. It's all very mysterious at 6:30 am.
2006-03-28 14:26:22 +00:00