|
|
| Line 3: |
Line 3: |
| First, you need to get a tree containing Javascript instrumentation that is fully working. ({{bug|507012}} added the instrumentation, but it keeps getting perturbed by JS engine changes, so that it ends up getting mismatched JS function enters/exits.) | | First, you need to get a tree containing Javascript instrumentation that is fully working. ({{bug|507012}} added the instrumentation, but it keeps getting perturbed by JS engine changes, so that it ends up getting mismatched JS function enters/exits.) |
|
| |
|
| === Option 1: mozilla-central ===
| | I've updated the patches in {{bug|605330}} to work on top of dvander's recent refactoring of the tracemonkey branch ({{bug|603044}}). So to get it working, you'll need to apply two sets of patches: |
|
| |
|
| The current (2010-Oct-11) m-c tree's JS interpreter is in an intermediate state that I can't get the instrumentation working for. So my current workaround is to do a wholesale update to a fairly recent tracemonkey and then add some patches that fix the instrumentation there.
| | * First, checkout the tracemonkey branch. |
| | | * Apply everything in {{bug|605330}} |
| I boiled it down into 3 ugly patches:
| | * Add in an instrumentation client that just logs everything to a file ({{bug|580055}}, which needs to be updated at the time of this writing) |
| | |
| * switch to tracemonkey | |
| hg qimport 'http://people.mozilla.org/~sfink/slowcalls-proto/import-tracemonkey'
| |
| * apply instrumentation fixes + a bunch of other irrelevant crud that I had lying around | |
| hg qimport 'http://people.mozilla.org/~sfink/slowcalls-proto/profiling-megapatch'
| |
| * add an instrumentation client that just logs everything to a file
| |
| hg qimport 'http://people.mozilla.org/~sfink/slowcalls-proto/slowcalls-logger'
| |
| | |
| That first patch is likely to rot rather quickly. If so, you could clone revision 19b462ec16a0 and copy out the js/src subtree from there instead.
| |
| | |
| === Option 2: tracemonkey ===
| |
| | |
| The patches in {{bug|602067}} will get to the same state as the patched mozilla-central tree, above, but dvander has rewritten the JS engine integration in {{bug|603044}} to be much, much nicer. None of my patches will be needed after this lands. But I haven't tried it yet.
| |
|
| |
|
| == Building with instrumentation == | | == Building with instrumentation == |