<p>Am 11.09.2017 11:14 schrieb "Ryan Joseph" <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>>:<br>
><br>
> I was time profiling some code and saw these 2 functions taking up large amounts of time. They’re coming from dynamic arrays and SetLength I believe but I was curious what they are exactly because I don’t believe I’ve seen them before. Is this normal for resizing dynamic arrays or  are they doing something else I would be interested in?<br>
><br>
> SYSTEM_$$_INCLOCKED$INT64<br>
> SYSTEM_$$_DECLOCKED$INT64$$BOOLEAN</p>
<p>They're used for the reference counter of the array (or string or interface). The reference counter changes each time you assign an array or pass it to a by-value parameter or if you change a value (cause the compiler/RTL needs to make sure that the reference to the array is unique then).</p>
<p>Regards,<br>
Sven</p>