The idea is to have events fired with start/stop for the JS compilation with reference to a script that is being compiled (jsdIScript). The reference would help to link the timings info with proper source-code in the UI (e.g. in Firebug).
Forgot to note that time stamp should be also passed with the event. Just like in case of nsIActivityObserver interface. Getting the time in JS handler could be too late.
See also Bug 449464
cc'ing bz, though I suspect dmandelin would be a good candidate for this work. I am not sure this should belong in jsd.
This should probably only happen in some sort of profiling mode... Otherwise, firing one or two events per eval() call will really mess with performance in some benchmarks and maybe even some pages.
For example, the mode where jsd it enabled. These events would be emitted in the same locations as the calls for bug 449464.
Or we can simply record the timestamps and make them available via an API call. This would have much lower overhead while still allowing the time evolution of the page to be displayed. Then more info could be gather with more overhead using 449464.