[Theoretical] Compiling high-level languages to assembly - what features are unconvertable?
I've found come conflicting claims regarding compiling high-level interpreted and VM-dependent languages (Python, Java, JS, etc.) to assembly. VM-dependent languages get compiled to their variant of bytecode which gets translated to assembly on runtime. Interpreters likewise end up eventually converting source code to assembly commands. Hence, it seems that it should theoretically be possible to complete this translation ahead of time in all cases. However, I've heard claims that Lambda calculus and automatic memory management make it theoretically not possible to compile to assembly. I couldn't find any legitimate evidence, though. So my question is this: What features of existing languages would make code not compilable to assembly ahead-of-time? Both opinions and factual evidence are welcome.