Also, D is not compiled in kernel. The dtrace utility compiles the D script, and the script goes through some sanity checking in the D compiler. The bytecode is sent to the kernel to execute. There are some in-kernel safety guarantees -- for instance, a D script causing a nil ptr deref in kernel obviously shouldn't (and does not) cause the system to panic.
--dho
