Commit History

Author SHA1 Message Date
  nickysn f3391f81a5 + introduce a new method tparamanager.asm_result_var(), which determines whether 7 years ago
  florian b948a0738c * unified internalerror 8 years ago
  florian b1dff29cbf * removed unused units 8 years ago
  svenbarth 417f1cd49d + initial implementation of the RTTI for parameter locations (not *yet* used by anything) 8 years ago
  Károly Balogh 49cec23ba6 for explicit paralocs, don't use the original explicit register as temp, but allocate a new register the same type instead. this fixes issues when the paralocs are also scratch regs and would get overwritten before the call itself 8 years ago
  Jonas Maebe 5bd03651a9 * clarify/ensure intended order of evaluation 8 years ago
  Károly Balogh 0cb555c07c syscalls: move the reference implementation of parseparaloc to paramgr. removes two identical copies from CPU specific code and enables basereg convention for AROS/x86_64. also, other minor fixes and cleanups in related code. 8 years ago
  Károly Balogh 4ee4099fca m68k: introduce a register calling convention, inspired by VBCC. volatile registers are used to pass arguments 8 years ago
  Jonas Maebe 99361994b7 * only copy the shiftval field from the original para location when creating 9 years ago
  Jonas Maebe fa3b0ca312 * support marking defs created via the getreusable*() class methods as 9 years ago
  Jonas Maebe f40ea04540 * changed getarraydef() into a tarraydef.getreusable() class method 10 years ago
  Jonas Maebe f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method 10 years ago
  Jonas Maebe d7412fb5c0 * fixed memory leaks and multiple recalculation regarding function result 10 years ago
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 years ago
  sergei beeb85f11c * Don't force CORBA (unmanaged) interfaces to be returned in parameter. All managed types including Variant and COM interfaces are already checked by handle_common_ret_in_param, superfluous checks removed. 11 years ago
  Károly Balogh 9991ee4165 m68k: support loading of refs to data registers, also when explicit paraloc is set and it's a register, use that directly, this fixes several syscall-related corner cases on Amiga 11 years ago
  nickysn d8d35a32c9 - rm bogus ifdef cpu16bitalu from tparamanager.allocparaloc and .freecgpara 11 years ago
  nickysn 9321d9916d * use voidpointer.size instead of sizeof(pint) in tparamanager.push_size in 11 years ago
  sergei 6ea9ce1077 * Force managed types to be always returned in parameters, independent of target (primitive types were already handled that way; the patch affects small records with fields of managed types). 11 years ago
  sergei f42c1b3720 * Return dynamic arrays in parameter, this was the only managed type still returned in register. Returning managed types in registers requires catching and re-raising exceptions at callee side in order to finalize result and avoid memory leaks. While such behavior makes little difference with generic setjmp-based exception handling, it becomes very inefficient as SEH-styled exception handling is being introduced. 11 years ago
  svenbarth 235c06ab34 Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) ) 12 years ago
  Jonas Maebe 7f2750f188 * missing part of r24776, using a build server also has pitfalls :/ 12 years ago
  Jonas Maebe 9938169d2c * don't use the paracgsize in get_paraloc_def(), because it generally 12 years ago
  Jonas Maebe 7566ddcc8f * add a tdef to each parameter location and set it for all target 12 years ago
  sergei 4714dc2218 + paramgr.pas: provide generic implementation of getintparaloc(). Once this method has been changed to use the procdef, it can reuse 'regular' parameter locations created by create_paraloc_info, so separate cpu-specific implementations of getintparaloc are no longer necessary. 12 years ago
  nickysn 6b2f59c3e0 + preparations for returning int64 in ax:bx:cx:dx on i8086 12 years ago
  Jonas Maebe 2b78bb1674 - removed ppc-specific tcgpara.composite field, it's no longer used or 12 years ago
  svenbarth 344571cb4e Added support for type helpers. In non Delphi modes they use "type helper" and in mode Delphi they use "record helper". They can also be used on constants. 12 years ago
  svenbarth 7bad1763b8 Decrease amount of code duplication regarding handling of safecall and record constructors. 12 years ago
  paul b2a613c17f compiler: implement record constructors + tests 12 years ago