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.
|
vor 13 Jahren |
sergei
|
8c9ad67682
+ tcgexitnode,tcgbreaknode,tcgcontinuenode: added possibility to generate specialized code for leaving unwind-protected regions.
|
vor 13 Jahren |
sergei
|
a32fdc3ae6
+ Added a simple helper tcg.g_call, intended to replace allocallcpuregisters+a_call_name+deallocallcpuregisters sequence which is used all over the place.
|
vor 14 Jahren |
sergei
|
6e23565edf
+ Initialize/finalize variants using dedicated helpers, produces both smaller (no RTTI loading necessary) and faster (direct path taken) code.
|
vor 14 Jahren |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
vor 14 Jahren |
florian
|
6d996bf832
* made a_call_ref of PowerPC generic, we need to allocate a register after all on risc platforms
|
vor 14 Jahren |
florian
|
77f2d6cc0d
* introduce usage of TCGInt in the code generator units
|
vor 14 Jahren |
florian
|
fb84cb865b
* rebase to trunk@17295
|
vor 14 Jahren |
florian
|
8cfbb70326
+ generic a_cmp_const_reg_label
|
vor 14 Jahren |
sergei
|
7f62d5cfb0
* tcg.g_array_rtti_helper: if high-value is a constant, handle it without using a register.
|
vor 14 Jahren |
sergei
|
37d5a6c354
* tcg.g_array_rtti_helper(): When converting 'high' to 'length', use an intermediate register to do the increment, so that the original value of 'high' parameter is preserved regardless of platform and optimization settings. Should fix regressions introduced by r17068.
|
vor 14 Jahren |
sergei
|
54bc8efa0b
* Fixed reference counting of open array parameters passed by value. RTTI of the array itself is useless in this case, as it does not provide correct element count. Now using dedicated helpers which take RTTI of array element and the element count. Resolves #18859.
|
vor 14 Jahren |
florian
|
726b24c591
* (d)allocallcpuregisters must not handle fpu registers on avr
|
vor 14 Jahren |
florian
|
26fbfaf5a7
+ introduce the usage of asizeint/asizeuint for cpus with sizeof("alu")<>sizeof(pointer)
|
vor 14 Jahren |
paul
|
dad8313512
compiler: handle dispinterfaces the same way as com interfaces because they are IDispatch descendants: increment/decrement they references in assignments and parameters passing by _AddRef, _Release
|
vor 14 Jahren |
florian
|
5dae691c96
* implementation of bit scan intrinsics by Richard Vida, resolves #17592
|
vor 15 Jahren |
mazen
|
b127fc154a
* Fixed spell error revealed by lintian.
|
vor 15 Jahren |
Jonas Maebe
|
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
|
vor 15 Jahren |
Jonas Maebe
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
vor 15 Jahren |
florian
|
66571ee4c8
* use extended as default real type in calculations only if fputype=x87
|
vor 15 Jahren |
Jonas Maebe
|
99aece6230
* cleaned up handling of Darwin non-lazy pointer sections: create sections
|
vor 15 Jahren |
Jonas Maebe
|
ea4bb9d752
* don't treat variant records with one element as "records with one element"
|
vor 15 Jahren |
Jonas Maebe
|
15e9c54b44
* fixed ABI compliance for parameter passing and function returning on all
|
vor 15 Jahren |
Jonas Maebe
|
283018a3bf
* changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
|
vor 15 Jahren |
Jonas Maebe
|
ceb063c7fe
* moved support for passing floating point values in integer registers from
|
vor 15 Jahren |
Jonas Maebe
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
vor 15 Jahren |
Jonas Maebe
|
4945d419d3
* moved some paraloc->tlocation loading helpers from ncgutil to cgobj
|
vor 15 Jahren |
Jonas Maebe
|
7d049c2c8d
* fixed typo in comment
|
vor 15 Jahren |
pierre
|
bc407ef6d3
* also disable range check where overflow check is disabled
|
vor 15 Jahren |
Jonas Maebe
|
b6e4896805
* small typo corrections by Adriaan Van Os (mantis #15652)
|
vor 15 Jahren |