Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Erlang compilation: mixed of "HiPE object code" and "opcode"?

Tags:

erlang

hipe

Is it possible to have a VM instance that executes both HiPE code and the usual "opcode" based objects at the same time?

This question is related to : Erlang OTP release compiles with HiPE?

like image 818
jldupont Avatar asked Feb 05 '10 13:02

jldupont


1 Answers

Yes, that is how the native compiler is integrated. Only those modules that are compiled with the +native option are executing in native machine code, and the rest are interpreted by the BEAM emulator as usual. When you make calls between modules compiled in different ways, a "mode switch" happens. This way, you can mix native and emulated modules seamlessly. Still, you should try to select which modules you native compile so that you avoid mode switches in tight, performance critical loops, because there is a small overhead each time.

like image 111
RichardC Avatar answered Oct 03 '22 14:10

RichardC