mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 07:05:24 +00:00
Backout 746513dca667 (Bug 765357) due to xpcshell orange (linux, mac).
--HG-- extra : rebase_source : 61b4a68e24c9920a348b105ea0a3cf25776bebb9
This commit is contained in:
parent
3ed7f5d511
commit
8f32cd5e2e
@ -124,5 +124,3 @@ run-if.config = ipc
|
||||
|
||||
[include:modules/libmar/tests/unit/xpcshell.ini]
|
||||
skip-if = os == "android"
|
||||
|
||||
[include:tools/profiler/tests/xpcshell.ini]
|
||||
|
@ -8,9 +8,6 @@ DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = $(srcdir)
|
||||
relativesrcdir = tools/profiler
|
||||
|
||||
XPCSHELL_TESTS = tests
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
|
@ -239,9 +239,10 @@ public:
|
||||
JSObject *sample = NULL;
|
||||
JSObject *frames = NULL;
|
||||
|
||||
int readPos = mReadPos;
|
||||
while (readPos != mLastFlushPos) {
|
||||
ProfileEntry entry = mEntries[readPos];
|
||||
int oldReadPos = mReadPos;
|
||||
while (mReadPos != mLastFlushPos) {
|
||||
ProfileEntry entry = mEntries[mReadPos];
|
||||
mReadPos = (mReadPos + 1) % mEntrySize;
|
||||
switch (entry.mTagName) {
|
||||
case 's':
|
||||
sample = b.CreateObject();
|
||||
@ -266,8 +267,8 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
readPos = (readPos + 1) % mEntrySize;
|
||||
}
|
||||
mReadPos = oldReadPos;
|
||||
|
||||
return profile;
|
||||
}
|
||||
@ -765,9 +766,6 @@ const char** mozilla_sampler_get_features()
|
||||
void mozilla_sampler_start(int aProfileEntries, int aInterval,
|
||||
const char** aFeatures, uint32_t aFeatureCount)
|
||||
{
|
||||
if (!stack_key_initialized)
|
||||
mozilla_sampler_init();
|
||||
|
||||
ProfileStack *stack = tlsStack.get();
|
||||
if (!stack) {
|
||||
ASSERT(false);
|
||||
@ -784,9 +782,6 @@ void mozilla_sampler_start(int aProfileEntries, int aInterval,
|
||||
|
||||
void mozilla_sampler_stop()
|
||||
{
|
||||
if (!stack_key_initialized)
|
||||
mozilla_sampler_init();
|
||||
|
||||
TableTicker *t = tlsTicker.get();
|
||||
if (!t) {
|
||||
return;
|
||||
@ -799,9 +794,6 @@ void mozilla_sampler_stop()
|
||||
|
||||
bool mozilla_sampler_is_active()
|
||||
{
|
||||
if (!stack_key_initialized)
|
||||
mozilla_sampler_init();
|
||||
|
||||
TableTicker *t = tlsTicker.get();
|
||||
if (!t) {
|
||||
return false;
|
||||
|
@ -8,7 +8,7 @@
|
||||
[scriptable, uuid(e388fded-1321-41af-a988-861a2bc5cfc3)]
|
||||
interface nsIProfiler : nsISupports
|
||||
{
|
||||
void StartProfiler(in PRUint32 aEntries, in PRUint32 aInterval,
|
||||
void StartProfiler(in PRUint32 aInterval, in PRUint32 aEntries,
|
||||
[array, size_is(aFeatureCount)] in string aFeatures,
|
||||
in PRUint32 aFeatureCount);
|
||||
void StopProfiler();
|
||||
|
@ -26,10 +26,10 @@ nsProfiler::nsProfiler()
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsProfiler::StartProfiler(PRUint32 aEntries, PRUint32 aInterval,
|
||||
nsProfiler::StartProfiler(PRUint32 aInterval, PRUint32 aEntries,
|
||||
const char** aFeatures, PRUint32 aFeatureCount)
|
||||
{
|
||||
SAMPLER_START(aEntries, aInterval, aFeatures, aFeatureCount);
|
||||
SAMPLER_START(aInterval, aEntries, aFeatures, aFeatureCount);
|
||||
#ifdef MOZ_INSTRUMENT_EVENT_LOOP
|
||||
mozilla::InitEventTracing();
|
||||
#endif
|
||||
|
@ -1,7 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
|
@ -1,18 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
function run_test() {
|
||||
// If we can't get the profiler component then assume gecko was
|
||||
// built without it and pass all the tests
|
||||
var profilerCc = Cc["@mozilla.org/tools/profiler;1"];
|
||||
if (!profilerCc)
|
||||
return;
|
||||
|
||||
var profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
|
||||
if (!profiler)
|
||||
return;
|
||||
|
||||
var profilerFeatures = profiler.GetFeatures([]);
|
||||
do_check_true(profilerFeatures != null);
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
function run_test() {
|
||||
// If we can't get the profiler component then assume gecko was
|
||||
// built without it and pass all the tests
|
||||
var profilerCc = Cc["@mozilla.org/tools/profiler;1"];
|
||||
if (!profilerCc)
|
||||
return;
|
||||
|
||||
var profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
|
||||
if (!profiler)
|
||||
return;
|
||||
|
||||
do_check_true(!profiler.IsActive());
|
||||
|
||||
profiler.StartProfiler(1000, 10, [], 0);
|
||||
|
||||
do_check_true(profiler.IsActive());
|
||||
|
||||
do_test_pending();
|
||||
|
||||
do_timeout(1000, function wait() {
|
||||
// Check responsiveness
|
||||
var resp = profiler.GetResponsivenessTimes({});
|
||||
do_check_true(resp.length > 10);
|
||||
|
||||
// Check text profile format
|
||||
var profileStr = profiler.GetProfile();
|
||||
do_check_true(profileStr.length > 10);
|
||||
|
||||
// check json profile format
|
||||
var profileObj = profiler.getProfileData();
|
||||
do_check_neq(profileObj, null);
|
||||
do_check_neq(profileObj.threads, null);
|
||||
do_check_true(profileObj.threads.length >= 1);
|
||||
do_check_neq(profileObj.threads[0].samples, null);
|
||||
// NOTE: The number of samples will be empty since we
|
||||
// don't have any labels in the xpcshell code
|
||||
|
||||
profiler.StopProfiler();
|
||||
do_check_true(!profiler.IsActive());
|
||||
do_test_finished();
|
||||
});
|
||||
|
||||
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
function run_test() {
|
||||
// If we can't get the profiler component then assume gecko was
|
||||
// built without it and pass all the tests
|
||||
var profilerCc = Cc["@mozilla.org/tools/profiler;1"];
|
||||
if (!profilerCc)
|
||||
return;
|
||||
|
||||
var profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
|
||||
if (!profiler)
|
||||
return;
|
||||
|
||||
var sharedStr = profiler.getSharedLibraryInformation();
|
||||
sharedStr = sharedStr.toLowerCase();
|
||||
|
||||
// Let's not hardcode anything too specific
|
||||
// just some sanity checks.
|
||||
do_check_neq(sharedStr.indexOf("name"), -1);
|
||||
do_check_neq(sharedStr.indexOf("start"), -1);
|
||||
do_check_neq(sharedStr.indexOf("end"), -1);
|
||||
do_check_neq(sharedStr.indexOf("offset"), -1);
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
function run_test() {
|
||||
// If we can't get the profiler component then assume gecko was
|
||||
// built without it and pass all the tests
|
||||
var profilerCc = Cc["@mozilla.org/tools/profiler;1"];
|
||||
if (!profilerCc)
|
||||
return;
|
||||
|
||||
var profiler = Cc["@mozilla.org/tools/profiler;1"].getService(Ci.nsIProfiler);
|
||||
if (!profiler)
|
||||
return;
|
||||
|
||||
do_check_true(!profiler.IsActive());
|
||||
|
||||
profiler.StartProfiler(10, 100, [], 0);
|
||||
|
||||
do_check_true(profiler.IsActive());
|
||||
|
||||
profiler.StopProfiler();
|
||||
|
||||
do_check_true(!profiler.IsActive());
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
[DEFAULT]
|
||||
head = head_profiler.js
|
||||
tail =
|
||||
|
||||
[test_start.js]
|
||||
[test_get_features.js]
|
||||
[test_shared_library.js]
|
||||
[test_run.js]
|
Loading…
Reference in New Issue
Block a user