Bug 1019191 part 5. Remove the one remaining quickstub we have and all quickstub codegen. r=peterv

This commit is contained in:
Boris Zbarsky 2014-10-22 11:40:47 -04:00
parent 5e1aca9748
commit 377effd23d
6 changed files with 0 additions and 1417 deletions

View File

@ -1183,19 +1183,7 @@ ResolvePrototype(nsIXPConnect *aXPConnect, nsGlobalWindow *aWin, JSContext *cx,
NS_IMETHODIMP
nsDOMClassInfo::PostCreatePrototype(JSContext * cx, JSObject * aProto)
{
uint32_t flags = (mData->mScriptableFlags & DONT_ENUM_STATIC_PROPS)
? 0
: JSPROP_ENUMERATE;
uint32_t count = 0;
while (mData->mInterfaces[count]) {
count++;
}
JS::Rooted<JSObject*> proto(cx, aProto);
if (!xpc::DOM_DefineQuickStubs(cx, proto, flags, count, mData->mInterfaces)) {
JS_ClearPendingException(cx);
}
// This is called before any other location that requires
// sObjectClass, so compute it here. We assume that nobody has had a

View File

@ -1,32 +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/.
EXTRA_MDDEPEND_FILES = dom_qsgen.pp
include $(topsrcdir)/config/rules.mk
dom_quickstubs.h: dom_quickstubs.cpp
dom_quickstubs.cpp: $(srcdir)/dom_quickstubs.qsconf \
$(srcdir)/qsgen.py \
$(LIBXUL_DIST)/sdk/bin/header.py \
$(LIBXUL_DIST)/sdk/bin/xpidl.py
$(PYTHON) $(topsrcdir)/config/pythonpath.py \
$(PLY_INCLUDE) \
-I$(LIBXUL_DIST)/sdk/bin \
$(srcdir)/qsgen.py \
--idlpath=$(DEPTH)/dist/idl \
--header-output dom_quickstubs.h \
--stub-output dom_quickstubs.cpp \
--makedepend-output $(MDDEPDIR)/dom_qsgen.pp \
$(ENABLE_TRACEABLE_FLAGS) \
$(srcdir)/dom_quickstubs.qsconf
GARBAGE += \
xpidl_debug \
$(MDDEPDIR)/dom_qsgen.pp \
$(MDDEPDIR)/dombindingsgen.pp \
$(wildcard $(topsrcdir)/other-licenses/ply/ply/*.pyc) \
$(NULL)

View File

@ -14,7 +14,6 @@
#include "XPCWrapper.h"
#include "XPCJSMemoryReporter.h"
#include "WrapperFactory.h"
#include "dom_quickstubs.h"
#include "mozJSComponentLoader.h"
#include "nsIMemoryInfoDumper.h"

View File

@ -1,53 +0,0 @@
# -*- Mode: Python -*-
# 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/.
name = 'DOM'
# A quick warning:
#
# Attributes or methods that call GetCurrentNativeCallContext must not be
# quick-stubbed, because quick stubs don't generate a native call context.
# qsgen.py has no way of knowing which attributes and methods do this, as it
# looks at interfaces, not implementations. The symptoms, if you quick-stub
# one of those, can be really weird, because GetCurrentNativeCallContext
# doesn't crash--it may in fact return a plausible wrong answer.
members = [
# dom/interfaces/base
#
# Note that many implementations of interfaces in this directory
# use GetCurrentNativeCallContext, notably:
# - nsIDOMLocation.reload
# - nsIDOMNSHistory.go
# - nsIDOMJSPluginArray.refresh
# - nsIDOMWindow.postMessage
# - nsIDOMJSWindow.{prompt,setTimeout,setInterval,open,openDialog}
#
# (And nsIDOMModalContentWindow.returnValue is an attribute of type
# nsIVariant, which qsgen.py can't handle.)
# dom/interfaces/xpath
'nsIDOMXPathNSResolver.lookupNamespaceURI',
]
# Most interfaces can be found by searching the includePath; to find
# nsIDOMEvent, for example, just look for nsIDOMEvent.idl. But IDL filenames
# for very long interface names are slightly abbreviated, and many interfaces
# don't have their own files, just for extra wackiness. So qsgen.py needs
# a little help.
#
irregularFilenames = {
# stowaways
'nsIDOMBlob': 'nsIDOMFile',
}
customIncludes = [
'mozilla/dom/BindingUtils.h',
'mozilla/dom/EventTargetBinding.h',
]
newBindingProperties = {
}

View File

@ -51,10 +51,6 @@ SOURCES += [
'XPCComponents.cpp',
]
GENERATED_SOURCES += [
'dom_quickstubs.cpp',
]
FAIL_ON_WARNINGS = True
MSVC_ENABLE_PGO = True
@ -63,10 +59,6 @@ include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
GENERATED_FILES = [
'dom_quickstubs.h',
]
LOCAL_INCLUDES += [
'../loader',
'../wrappers',

File diff suppressed because it is too large Load Diff