LDC 1.18.0-beta1

Ivan Butygin ivan.butygin at gmail.com
Tue Sep 24 18:24:36 UTC 2019


On Tuesday, 24 September 2019 at 17:49:13 UTC, jmh530 wrote:
>

About bind call overhead, bind object hold pointer to shared 
payload, which is allocated via malloc. This payload has function 
pointer (initially null).
During compileDynamicCode call runtime will update this pointer 
to generated code.
Bind object opCall call this function pointer from payload.

Call itself
https://github.com/ldc-developers/ldc/blob/v1.18.0-beta1/runtime/jit-rt/d/ldc/dynamic_compile.d#L352
https://github.com/ldc-developers/ldc/blob/v1.18.0-beta1/runtime/jit-rt/d/ldc/dynamic_compile.d#L493

toDelegate
https://github.com/ldc-developers/ldc/blob/v1.18.0-beta1/runtime/jit-rt/d/ldc/dynamic_compile.d#L509
https://github.com/ldc-developers/ldc/blob/v1.18.0-beta1/runtime/jit-rt/d/ldc/dynamic_compile.d#L355


More information about the Digitalmars-d-announce mailing list