Historie revizí

Autor SHA1 Zpráva Datum
  florian b948a0738c * unified internalerror před 8 roky
  florian b1dff29cbf * removed unused units před 8 roky
  svenbarth 417f1cd49d + initial implementation of the RTTI for parameter locations (not *yet* used by anything) před 8 roky
  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 před 8 roky
  Jonas Maebe 5bd03651a9 * clarify/ensure intended order of evaluation před 8 roky
  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. před 8 roky
  Károly Balogh 4ee4099fca m68k: introduce a register calling convention, inspired by VBCC. volatile registers are used to pass arguments před 8 roky
  Jonas Maebe 99361994b7 * only copy the shiftval field from the original para location when creating před 9 roky
  Jonas Maebe fa3b0ca312 * support marking defs created via the getreusable*() class methods as před 9 roky
  Jonas Maebe f40ea04540 * changed getarraydef() into a tarraydef.getreusable() class method před 10 roky
  Jonas Maebe f402b0d7df * changed getpointerdef() into a tpointerdef.getreusable() class method před 10 roky
  Jonas Maebe d7412fb5c0 * fixed memory leaks and multiple recalculation regarding function result před 10 roky
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) před 10 roky
  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. před 11 roky
  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 před 11 roky
  nickysn d8d35a32c9 - rm bogus ifdef cpu16bitalu from tparamanager.allocparaloc and .freecgpara před 11 roky
  nickysn 9321d9916d * use voidpointer.size instead of sizeof(pint) in tparamanager.push_size in před 11 roky
  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). před 11 roky
  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. před 11 roky
  svenbarth 235c06ab34 Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) ) před 12 roky
  Jonas Maebe 7f2750f188 * missing part of r24776, using a build server also has pitfalls :/ před 12 roky
  Jonas Maebe 9938169d2c * don't use the paracgsize in get_paraloc_def(), because it generally před 12 roky
  Jonas Maebe 7566ddcc8f * add a tdef to each parameter location and set it for all target před 12 roky
  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. před 12 roky
  nickysn 6b2f59c3e0 + preparations for returning int64 in ax:bx:cx:dx on i8086 před 12 roky
  Jonas Maebe 2b78bb1674 - removed ppc-specific tcgpara.composite field, it's no longer used or před 12 roky
  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. před 12 roky
  svenbarth 7bad1763b8 Decrease amount of code duplication regarding handling of safecall and record constructors. před 12 roky
  paul b2a613c17f compiler: implement record constructors + tests před 12 roky
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) před 12 roky