I'm sorry, but no CPU on the planet works internally with abstract objects, methods, or any other cobblers you want to invent. All OO did was to help revive the textbook printing industry, since everything you needed to know about procedural programming had already been written by the end of the 1980s.
So we should convert our abstractions of the world into machine code?
First of all there is no dichotomy between OO and procedural programming. OO is merely a different way to express the procedures. Functional programming shouldn't be excluded either. It's just another tool in the box.
Secondly, what's wrong with letting a compiler convert whatever high-level code into machine code? For a while now it's been known that compilers can produce better machine code than people can. They can also do it a lot faster, too. And CPU cycles are cheaper than people, too.
Sure, there are situations, especially where memory is extremely limited where you need to program as close to the machine as possible. But you know what's even better than writing machine code? Creating hardware that's optimised for your code. All hail FPGAs and hardware acceleration.