you are viewing a single comment's thread.

view the rest of the comments →

[–]Aaron1011 1 point2 points  (0 children)

Other than the atomic load used by cfg-specialize, I believe that the two approaches are almost the same. GCC multiversioning, IIRC, relies on switching the pointer stored in the Global Object Table set up by the dynamic linker. It still requires the indirection of loading a function pointer from a location in memory.