/
Why is there assembly code injected into Perl files?

Why is there assembly code injected into Perl files?

Performance of crypto operations. A sign of a ‘mature’ project - performance is improved and at the expense of readability!

See a snippet from ecp_nistz256-x86_64.pl :

$code.=<<___; .globl ecp_nistz256_mul_by_2 .type ecp_nistz256_mul_by_2,\@function,2 .align 64 ecp_nistz256_mul_by_2: .cfi_startproc push %r12 .cfi_push %r12 push %r13 .cfi_push %r13 .Lmul_by_2_body: mov 8*0($a_ptr), $a0 xor $t4,$t4 mov 8*1($a_ptr), $a1 ...

Can we disable them?

Related content

Looking at the makefile
Looking at the makefile
More like this
What dependencies are required for the assembly optimizations?
What dependencies are required for the assembly optimizations?
More like this
How can we learn about making OpenSSL?
How can we learn about making OpenSSL?
Read with this
Building OpenSSL on Windows is a pain
Building OpenSSL on Windows is a pain
More like this
What does Perl do when making OpenSSL?
What does Perl do when making OpenSSL?
Read with this
Where else is Perl used?
Where else is Perl used?
More like this