author | Bill McCloskey <wmccloskey@mozilla.com> |
Thu, 30 Dec 2010 14:16:13 -0800 | |
changeset 59972 | 6545473b75b4ebe7af494d243b3ec5e4dfe79005 |
parent 59971 | b139e168fbf00b363a15edca33ac10b935289176 |
child 59973 | 68f2d2c8114519fb8c1913a73013f665c6b738d3 |
push id | 17820 |
push user | cleary@mozilla.com |
push date | Tue, 04 Jan 2011 21:40:57 +0000 |
treeherder | mozilla-central@969691cfe40e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dmandelin |
bugs | 618422 |
milestone | 2.0b9pre |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
js/src/jstracer.cpp | file | annotate | diff | comparison | revisions | |
js/src/jstracer.h | file | annotate | diff | comparison | revisions |
--- a/js/src/jstracer.cpp +++ b/js/src/jstracer.cpp @@ -17047,20 +17047,21 @@ LoopProfile::decide(JSContext *cx) if (prof) { /* * Note that execOK for the inner loop is left unchanged. So even * if we trace the inner loop, we will never call that trace * on its own. We'll only call it from this trace. */ prof->profiled = true; prof->traceOK = true; - if (IsBlacklisted(loop.top)) + if (IsBlacklisted(loop.top)) { debug_only_printf(LC_TMProfiler, "Unblacklisting at %d\n", js_PCToLineNumber(cx, loop.script, loop.top)); - Unblacklist(loop.script, loop.top); + Unblacklist(loop.script, loop.top); + } } } } if (!traceOK) { debug_only_printf(LC_TMProfiler, "Blacklisting at %d\n", line); Blacklist(top); }
--- a/js/src/jstracer.h +++ b/js/src/jstracer.h @@ -226,18 +226,18 @@ public: TreeFragment* root; TreeFragment* toTreeFragment(); }; #ifdef NJ_NO_VARIADIC_MACROS #define debug_only_stmt(action) /* */ -static void debug_only_printf(int mask, const char *fmt, ...) {} -#define debug_only_print0(mask, str) /* */ +static void debug_only_printf(int mask, const char *fmt, ...) JS_BEGIN_MACRO JS_END_MACRO +#define debug_only_print0(mask, str) JS_BEGIN_MACRO JS_END_MACRO #elif defined(JS_JIT_SPEW) // Top level logging controller object. extern nanojit::LogControl LogController; // Top level profiling hook, needed to harvest profile info from Fragments // whose logical lifetime is about to finish @@ -260,18 +260,18 @@ extern void FragProfiling_FragFinalizer( LogController.printf("%s", str); \ fflush(stdout); \ } \ JS_END_MACRO #else #define debug_only_stmt(action) /* */ -#define debug_only_printf(mask, fmt, ...) /* */ -#define debug_only_print0(mask, str) /* */ +#define debug_only_printf(mask, fmt, ...) JS_BEGIN_MACRO JS_END_MACRO +#define debug_only_print0(mask, str) JS_BEGIN_MACRO JS_END_MACRO #endif /* * The oracle keeps track of hit counts for program counter locations, as * well as slots that should not be demoted to int because we know them to * overflow or they result in type-unstable traces. We are using simple * hash tables. Collisions lead to loss of optimization (demotable slots