You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 1, 2021. It is now read-only.
cl::desc("Forces function pointers to not alias (this is more correct, but rarely needed, and has the cost of much larger function tables; it is useful for debugging though; see emscripten ALIASING_FUNCTION_POINTERS option)"),
while (Table.size() < NextFunctionIndex) Table.push_back("0");
301
+
}
293
302
unsigned Alignment = F->getAlignment() || 1; // XXX this is wrong, it's always 1. but, that's fine in the ARM-like ABI we have which allows unaligned functions.
294
303
// the one risk is if someone forces a function to be aligned, and relies on that.
295
304
while (Table.size() % Alignment) Table.push_back("0");
296
305
unsigned Index = Table.size();
297
306
Table.push_back(Name);
298
307
IndexedFunctions[Name] = Index;
308
+
if (NoAliasingFunctionPointers) {
309
+
NextFunctionIndex = Index+1;
310
+
}
299
311
300
312
// invoke the callHandler for this, if there is one. the function may only be indexed but never called directly, and we may need to do things in the handler
0 commit comments