P4 to Git Change 1102693 by jsjodin@jsjodin_linux_avx_hsa on 2014/12/04 17:11:26

ECR #304775 - Change the way SIGFPE is handled.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpucommand.hpp#38 edit
... //depot/stg/opencl/drivers/opencl/runtime/os/os_posix.cpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/os/os_win32.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/runtime/thread/thread.hpp#14 edit
이 커밋은 다음에 포함됨:
foreman
2014-12-04 17:19:31 -05:00
부모 2d58fc417b
커밋 024acc392e
4개의 변경된 파일16개의 추가작업 그리고 21개의 파일을 삭제
+4 -9
파일 보기
@@ -450,15 +450,11 @@ divExceptionFilter(struct _EXCEPTION_POINTERS* ep)
{
DWORD code = ep->ExceptionRecord->ExceptionCode;
if (code == EXCEPTION_INT_DIVIDE_BY_ZERO
|| code == EXCEPTION_INT_OVERFLOW) {
// @todo: only handle exception in the generated code.
//
//if (!isKernelCode(insn)) {
// return;
//}
if (code == EXCEPTION_INT_DIVIDE_BY_ZERO ||
code == EXCEPTION_INT_OVERFLOW) {
address insn = (address)ep->ContextRecord->LP64_SWITCH(Eip,Rip);
if (Os::skipIDIV(insn)) {
ep->ContextRecord->LP64_SWITCH(Eip,Rip) = (uintptr_t)insn;
return EXCEPTION_CONTINUE_EXECUTION;
@@ -471,9 +467,8 @@ void*
Thread::entry(Thread* thread)
{
void* ret = NULL;
// @todo: We only need this for CPU worker threads.
#if !defined(_WIN64)
if (true /*thread->isWorkerThread()*/) {
if (thread->isWorkerThread()) {
__try {
ret = thread->main();
}