提交历史

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