13 months ago |
Paul Boddie |
file
changeset
files
shortlog
|
Permit the replacement of floating-point values in locally-referenced objects.
To achieve this, a result target parameter has been introduced in callable
signatures alongside the existing context parameter so that references to
objects can be propagated to operations that are able to replace the value of
such objects.
Result target objects are currently supported only for locals and intermediate
results in functions and methods, with assignments to locals or the storage of
intermediate results involving the copying of any given floating-point objects
instead of merely referencing them. Such distinct copies may then be used as
result targets when locals or intermediate result locations are subsequently
reused.
Value replacement avoids the allocation of temporary objects that can quickly
dominate execution time in programs repeatedly performing large numbers of
floating-point calculations. |
value-replacement |