A blog about programming topics, mostly JVM, Linux kernel, and x86 related things.

Friday, February 22, 2008

Spill/reload storage in the stack frame

It's all in commit 0b9cf2f3049732de72ef4801f25b58b29ba73482 ("Support for spill/reload storage in stack frame"). I still need to convert the back-end to use it so I can actually generate spill/reload instructions. I am working towards live interval splitting bottom-up now and I am almost there. Maybe in few weeks I can finally add support for callee/caller saved registers that fixes the currently broken test...

Thursday, February 21, 2008

So you want to hack on a JIT compiler?

I am planning to try to register Jato as a "mentor organization" for Google Summer of Code this year so I created an initial draft for project ideas. No need to wait for summer to start working on them if you have the itch though!

Saturday, February 16, 2008

Ubuntu and bugs...

I did read the blog posts on Ubuntu's bad bug fixing track record but I didn't take them seriously until I hit one nasty bug myself. There's some hope that it'll get fixed when Hardy Heron comes out. But then again, it was thought to be fixed in Gutsy Gibbon already...

Where to find PowerPC architecture reference manuals in hard-copy?

Intel has nice web pages for ordering hard-copies of reference manuals for i386/x86-64 and Itanium. But for PowerPC, all I can find is this page that lets you download PDFs. Any ideas where I could find them in hard-copy? I do have the Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture in hard-copy that Freescale was kind enough to send me (but I am missing the one for 64-bit!).

Saturday, February 9, 2008

kmemcheck: valgrind for the Linux kernel

Vegard Nossum released a new version of kmemcheck yesterday. You can think of kmemcheck as valgrind for the native kernel. While user-mode Linux already supports valgrind, it's not really helpful for finding bugs in drivers where the kernel has most bugs. The current version detects the use of uninitialized memory but I have been talking with Vegard how to extend kmemcheck to detect use-after-free errors also which would be really awesome.

Overall, I think the infrastructure provided by kmemcheck will help us a lot in finding hard to debug kernel bugs before users hit them in production.