Closed
Bug 766432
Opened 13 years ago
Closed 8 years ago
IonMonkey: Integrate with VTune
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
DUPLICATE
of bug 1332466
People
(Reporter: dvander, Assigned: dvander)
Details
(Whiteboard: [ion:t])
Attachments
(2 files, 7 obsolete files)
38.48 KB,
patch
|
Details | Diff | Splinter Review | |
45.27 KB,
patch
|
Details | Diff | Splinter Review |
Very hacked up patch. Works, basically, but there are holes in JIT code coverage (like VMWrappers/OOL paths).
This patch also takes out ebp as a general register (if --enable-profiling) and saves it in prologues, so VTune can construct js->js callstacks.
Assignee | ||
Comment 1•13 years ago
|
||
this version maps VMWrappers (unfortunately, i couldnt grab the function names), and ICs, which show as things like "ic-getprop-native" and map to the file and line the property access occurred on (rather than the place they were potentially inlined).
Attachment #634715 -
Attachment is obsolete: true
Comment 2•12 years ago
|
||
I have been crashing with the v1 patch, and it looks to be caused by the disabling of the check if the profiler is running. Uncommenting this check appears to fix in the small test case I have run so far:
+++ b/js/src/ion/IonCaches.cpp
@@ -52,16 +52,41 @@
>
> #include "vm/Stack.h"
> #include "IonFrames-inl.h"
>
> using namespace js;
> using namespace js::ion;
>
> void
>+InstrumentCache(IonCode *code, JSScript *script, jsbytecode *pc, const char *name)
>+{
>+#ifdef MOZ_VTUNE
>+ //if (iJIT_SAMPLING_ON != iJIT_IsProfilingActive())
>+ // return;
Comment 3•12 years ago
|
||
The fix I suggested above turns out to be more of a workaround while there is no collection.
I think the cause is that the JSScript * in the second argument is coming in as NULL, so script->filename is failing.
Assignee | ||
Updated•12 years ago
|
Whiteboard: [ion:t]
Comment 4•12 years ago
|
||
Comment 5•12 years ago
|
||
Showing Windows a little love, and fixing a compile error in jsdbgapi.h.
Comment 6•12 years ago
|
||
Minor change to fix VTune crash on finalization.
Attachment #652278 -
Attachment is obsolete: true
Comment 7•12 years ago
|
||
Attachment #652493 -
Attachment is obsolete: true
Assignee | ||
Comment 8•12 years ago
|
||
Entirely new patch based on bug 785234, includes some of Joe's fixes. This one is factored with the intent of being checked in, and tries to be smarter about reporting inlined function calls. I still have to get out-of-line chunks and ICs working.
Attachment #636961 -
Attachment is obsolete: true
Attachment #646789 -
Attachment is obsolete: true
Assignee | ||
Comment 9•12 years ago
|
||
Can't actually test yet, but it builds.
Attachment #700855 -
Attachment is obsolete: true
Assignee | ||
Comment 10•12 years ago
|
||
This version removes the VTune dependency for mapping line numbers, so it should be usable by SPS and OProfile as well. It also adds OOL support.
TODO: testing, ICs, x64.
Attachment #700856 -
Attachment is obsolete: true
Updated•8 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•