florian
|
c9fcc68ec1
* enable the compiler to optimize away parts of System.PushExceptObject, if System.get_frame is not implemented, i.e. returning nil
|
4 years ago |
florian
|
af20b064ed
* make framecount and framebufsize dependent on the pointer size
|
4 years ago |
Jonas Maebe
|
4e73919676
- removed FPC 2.6.x bootstrapping code
|
6 years ago |
Jonas Maebe
|
3cfad8fba8
* renamed FPC_USE_PSEABIEH to FPC_USE_PSABIEH
|
6 years ago |
Jonas Maebe
|
b2608ba02a
+ fpc_reraise and fpc_raise_nested implementations for psabieh
|
6 years ago |
Jonas Maebe
|
b2d1ab7f05
* basic helpers for DWARF/PSABI EH-based exception handling (based on
|
6 years ago |
Jonas Maebe
|
6e1d370417
* split off the texceptaddr declaration into rtl/inc/excepth.inc, so it can
|
11 years ago |
nickysn
|
ff6b258379
* changed ExceptTryLevel from nativeint to objpasint
|
11 years ago |
sergei
|
baa18dfcb4
* Introduced a new function CaptureBacktrace, using it to handle most of back-tracing in heaptrc unit.
|
11 years ago |
sergei
|
2f05e8b389
* PushExceptObject and dump_stack: use get_caller_stackinfo instead of get_caller_addr and get_caller_frame.
|
11 years ago |
sergei
|
a7563fd0c8
* Added {$ifdef ver2_6} around stuff which is no longer used but needed for bootstrapping.
|
11 years ago |
sergei
|
04f32c2a01
* Do not attempt to retrieve caller context if initial frame is not between StackTop and frame pointer of current procedure (aka stack bottom). Reverts part of r21843, fixing regression of tests/test/cg/traise6.pp after r26843.
|
11 years ago |
sergei
|
b26e36431a
* Instead of three individual try..except blocks in fpc_pushexceptobject, guard the entire procedure at the caller side (it is called only from fpc_raiseexception). This additionally guards against possible crashes in getmem() due to corrupted heap. Furthermore, try..except block is not necessary at all for such one-time purposes.
|
11 years ago |
sergei
|
d004607876
* fpc_raiseexception does not return a result.
|
11 years ago |
sergei
|
749ff6b19d
* fpc_popobjectstack: clean up.
|
11 years ago |
nickysn
|
f4f35ad47b
* changed ExceptTryLevel from longint to nativeint (because i8086)
|
11 years ago |
sergei
|
179586f589
+ SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
|
11 years ago |
nickysn
|
c1b0fb81f1
* updated all the RTL helper functions related to exceptions and stack traces to use codepointer instead of pointer
|
12 years ago |
nickysn
|
b688b79a0d
* fixed the order of parameters in the first call to get_caller_frame in PushExceptObject
|
12 years ago |
nickysn
|
1e28790e99
* fpc_PushExceptAddr's parameter Ft changed from LongInt to SmallInt on 16-bit CPUs for better efficiency
|
12 years ago |
nickysn
|
252903175c
* TExceptAddr.frametype changed to SmallInt on 16-bit CPUs, since the compiler allocates 3*sizeof(pint) for the whole structure (and using longints on 16-bit CPUs is wasteful anyway)
|
12 years ago |
florian
|
92565c80ba
* make exception variables threadvars or not depending on threading support
|
12 years ago |
pierre
|
6eccf88499
call halt(217) if get_caller_XX function generates an exception
|
13 years ago |
pierre
|
305a275746
Protect with try/except blocks call to get_caller_XXX functions to avoid troubles if stack is invalid
|
13 years ago |
pierre
|
bc1ecc2e94
Use two parameter versions of get_caller_frame and get_caller_addr to get correct results for MIPS
|
13 years ago |
sergei
|
cbad0abab5
+ Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH.
|
13 years ago |
sergei
|
ebe1d74d6e
* Moved multiple similar checks for FPC_HAS_FEATURE_EXITCODE and FPC_LIMITED_EXITCODE to Halt() procedure. Now these checks appear only once.
|
13 years ago |
sergei
|
56900b4754
* RTL: clean up exception handling code (functionality is not changed).
|
13 years ago |
sergei
|
a32fdc3ae6
+ Added a simple helper tcg.g_call, intended to replace allocallcpuregisters+a_call_name+deallocallcpuregisters sequence which is used all over the place.
|
13 years ago |
sergei
|
fa4b78363c
+ Handle safecall exceptions with a dedicated compilerproc, simplifies compiler part and reduces generated code size.
|
14 years ago |