sergei
|
06192a8137
Values of managed variables are never ever used after decrementing reference on the variable, so there is no point of having a 'decrement reference' as a separate operation. We can always do 'finalize', i.e. clear the contents after decref.
|
13 years ago |
sergei
|
b1cbf30a94
* Managed types passed to out formal parameters must be completely cleaned (decrementing refcount is not enough) at caller side, because callee side doesn't know their actual type and cannot initialize them. Resolves #20962.
|
13 years ago |
sergei
|
3a579ced7b
* Fixed IE201103063 when <dynamic array of unmanaged type> is being passed to <out open array> parameter.
|
13 years ago |
pierre
|
b6de7f0d6b
* Suppress Comaprison might be always false if first_mm_imreg is zero
|
13 years ago |
svenbarth
|
d0705a1779
Rebase to revision 17236
|
14 years ago |
svenbarth
|
96116a6c3a
Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
|
14 years ago |
sergei
|
48d93dc40e
* Fixed handling of "open array of managed type" out-parameters at caller side. Reference count should be decremented only for those array elements which are actually passed to the called procedure; it may be a part of original array if range or slice is used. Concludes work on #18859.
|
14 years ago |
svenbarth
|
963a4d7b23
Commit of a completely restructured helper implementation. Instead of changing objectdefs with odt_classhelper to odt_class, they'll have the odt_helper type assigned to and this will be kept. This also implies that the parent of a helper is its true parent while the extended type is set to a field in tobjectdef (extendeddef).
|
14 years ago |
svenbarth
|
d12b198c7f
Rebase to revision 16888
|
14 years ago |
Jonas Maebe
|
be2bb0b2e1
* free function return location if the callnode immediately copies it to a
|
14 years ago |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
14 years ago |
Jonas Maebe
|
e6c09430cb
* fixed inverted condition in r16052 that could cause superfluous parameter
|
15 years ago |
Jonas Maebe
|
6094cb79dc
* fixed internalerrors on non-use_fixed_stack platforms after r16050:
|
15 years ago |
Jonas Maebe
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
15 years ago |
joost
|
b938ea0f2a
* For cdecl functions the funcret is not popped by the caller when it is passed
|
15 years ago |
joost
|
65ab1e820b
* Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
|
15 years ago |
Jonas Maebe
|
57bd6d2685
+ merged nestedprocvars branch
|
15 years ago |
Jonas Maebe
|
a7eb6bf64b
* fixed checking validity of temporary parameter location that triggered
|
15 years ago |
Jonas Maebe
|
283018a3bf
* changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
|
15 years ago |
Jonas Maebe
|
46ff0c4fc4
* extracted gen_load_cgpara_loc()
|
15 years ago |
Jonas Maebe
|
f5c52b25cd
* removed "and not is_class()" condition from is_managed_type(), because
|
15 years ago |
Jonas Maebe
|
e9b62c1294
* refactored general loc->cgpara loading code in ncgcal into helpers in
|
15 years ago |
Jonas Maebe
|
ef824c53f8
* more cpu-specific ifdef'd fpu/intregister code removed
|
15 years ago |
Jonas Maebe
|
ceb063c7fe
* moved support for passing floating point values in integer registers from
|
15 years ago |
Jonas Maebe
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
15 years ago |
florian
|
c1f3d8dcaa
* unified names of system_*/systems_* sets
|
15 years ago |
Jonas Maebe
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
15 years ago |
Jonas Maebe
|
3660bf7f98
* integrated the transformation of an Objective-C method call into a call
|
16 years ago |
Jonas Maebe
|
cc5aeb09de
* fixed handling the result value of functions where the result type is
|
16 years ago |
florian
|
c0d4efed2e
* forbid passing derived classes to call by reference parent classes (for objects, this is still allowed), resolves #13135
|
16 years ago |