[llvm-commits] Bug in "call __chkstak" on 64 bit OS

Anton Korobeynikov anton at korobeynikov.info
Sun Feb 19 06:13:45 PST 2012


Marina,

> Why is it unconditional, not enhancing memory model modes?
Takumi is correct. For normal applications the 'small' code model is
applicable, and thus everything will fit in 32 bits (note that this
not __checkstk specific, all other calls should be converted as
well!). Surely, inside JIT you have to use other code model and do
different lowering for calls.

You might want to check how the code models (small, kernel, medium)
are currently handled inside LLVM and use something similar.

Also:
+    // R11 is a volotiale register and assumed to be destoyed by the callee,
volatile and destroyed

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-commits mailing list