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.
|
hace 13 años |
sergei
|
8c9ad67682
+ tcgexitnode,tcgbreaknode,tcgcontinuenode: added possibility to generate specialized code for leaving unwind-protected regions.
|
hace 14 años |
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.
|
hace 14 años |
sergei
|
6e23565edf
+ Initialize/finalize variants using dedicated helpers, produces both smaller (no RTTI loading necessary) and faster (direct path taken) code.
|
hace 14 años |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
hace 14 años |
florian
|
6d996bf832
* made a_call_ref of PowerPC generic, we need to allocate a register after all on risc platforms
|
hace 14 años |
Jonas Maebe
|
7f22a2f223
+ support for range checking calculations with hlcgobj
|
hace 14 años |
florian
|
77f2d6cc0d
* introduce usage of TCGInt in the code generator units
|
hace 14 años |
florian
|
fb84cb865b
* rebase to trunk@17295
|
hace 14 años |
florian
|
8cfbb70326
+ generic a_cmp_const_reg_label
|
hace 14 años |
sergei
|
7f62d5cfb0
* tcg.g_array_rtti_helper: if high-value is a constant, handle it without using a register.
|
hace 14 años |
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.
|
hace 14 años |
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.
|
hace 14 años |
florian
|
726b24c591
* (d)allocallcpuregisters must not handle fpu registers on avr
|
hace 14 años |
florian
|
26fbfaf5a7
+ introduce the usage of asizeint/asizeuint for cpus with sizeof("alu")<>sizeof(pointer)
|
hace 14 años |
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
|
hace 14 años |
florian
|
5dae691c96
* implementation of bit scan intrinsics by Richard Vida, resolves #17592
|
hace 15 años |
mazen
|
b127fc154a
* Fixed spell error revealed by lintian.
|
hace 15 años |
Jonas Maebe
|
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
|
hace 15 años |
Jonas Maebe
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
hace 15 años |
florian
|
66571ee4c8
* use extended as default real type in calculations only if fputype=x87
|
hace 15 años |
Jonas Maebe
|
99aece6230
* cleaned up handling of Darwin non-lazy pointer sections: create sections
|
hace 15 años |
Jonas Maebe
|
ea4bb9d752
* don't treat variant records with one element as "records with one element"
|
hace 15 años |
Jonas Maebe
|
15e9c54b44
* fixed ABI compliance for parameter passing and function returning on all
|
hace 15 años |
Jonas Maebe
|
283018a3bf
* changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
|
hace 15 años |
Jonas Maebe
|
ceb063c7fe
* moved support for passing floating point values in integer registers from
|
hace 15 años |
Jonas Maebe
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
hace 15 años |
Jonas Maebe
|
4945d419d3
* moved some paraloc->tlocation loading helpers from ncgutil to cgobj
|
hace 15 años |
Jonas Maebe
|
7d049c2c8d
* fixed typo in comment
|
hace 15 años |
pierre
|
bc407ef6d3
* also disable range check where overflow check is disabled
|
hace 15 años |