Commit History

Author SHA1 Message Date
  Jonas Maebe 118f3c8049 * fixed type of stored exception class instance in on-node 9 years ago
  Jonas Maebe f0c6d40336 * converted loading for fpc_catches parameter to hlcg 9 years ago
  sergei e542800ea9 * Win64 SEH: Track control flow out of unwind-protected regions in a more precise way and don't generate expensive calls to __fpc_local_unwind when not necessary. 10 years ago
  Jonas Maebe 0fc1fd6ac1 * replaced current_procinfo.currtrue/falselabel with storing the true/false 10 years ago
  Jeppe Johansen c5b24c5ce3 Changed cast to allow more loop iterations than the native bit-ness of the architecture. 10 years ago
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 years ago
  Jonas Maebe 8064adec38 * converted tcgtryexceptnode.pass_generate_code() and 11 years ago
  Jonas Maebe a637fbe596 * moved all g_exception_*() methods to hlcgobj and cleaned them up (no more 11 years ago
  Jonas Maebe bacd303208 * synchronized with trunk up to r27758 11 years ago
  nickysn a79a891940 * handle the result of FPC_CATCHES via the high level code generator (which makes it i8086 far pointer safe) 11 years ago
  Jonas Maebe 73a3f5ced4 * moved ncgutil.maybechangeloadnodereg() to hlcg.maybe_change_load_node_reg() 11 years ago
  sergei e26ce9e442 * Fix code generation of for-loops. Keeping a copy of to-value in register during pass 2 is basically a hack, because register may be destroyed if an exception is raised and handled in loop body. This went unnoticed because generic setjmp-based exception handling is restoring registers to the state at entry to try block, and Win64 SEH also has some register-preserving features. However, for Win32 SEH it is not true. 11 years ago
  sergei 563b74b16a * Cleanup code generation for try..finally nodes. 11 years ago
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 years ago
  nickysn bf07fc077b * specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol. 11 years ago
  sergei 4a9fe5d07d * Fixed register live range in for-loops: 12 years ago
  florian a07af824ea * properly fix raise node handling on x86-64 after r24288 12 years ago
  pierre 4f8fcb7f15 Revert commit 24324 for ncgflow.pas unit to fix win64 cycle 12 years ago
  florian 709ba5e053 + introduce cnf_call_never_returns to signal the dfa if a call node never returns 12 years ago
  nickysn a5c5b05362 * initial support for system procs that use calling conventions that push left to right on i8086 or i386 12 years ago
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so 12 years ago
  pierre 18698bc93d Fix safecall for cpus for which NR_FUNCTION_RESULT_REG is different from NR_FUNCTION_RETURN_REG 13 years ago
  florian ca5fabda6d * cleanup some unused units from uses clauses 13 years ago
  Jonas Maebe 7a0ae38700 + also specify the parameter def when allocating a parameter via 13 years ago
  Jonas Maebe edd42aa42a * moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for 13 years ago
  Jonas Maebe aee5380ae0 * merged trunk up to r20882 13 years ago
  sergei fa98e0523d * Safecall handling: forgot to free cgpara before doing the call, fixed. 13 years ago
  sergei f6761d7939 * Handle safecall exceptions entirely in tcgtryfinallynode pass2. This simplifies things and removes the need in hidden safe_result variable. 13 years ago
  sergei 8c9ad67682 + tcgexitnode,tcgbreaknode,tcgcontinuenode: added possibility to generate specialized code for leaving unwind-protected regions. 13 years ago
  sergei e2d43fcb30 - tcgonnode: don't store exception object in temp if it is not used. 14 years ago