Bug 1063233: Remove use of UbiNode.h from IonCode.h, with consequent changes; Windows non-unified builds seem to be unhappy with it. CLOSED TREE r=bustage

This commit is contained in:
Jim Blandy 2014-09-05 14:57:42 -07:00
parent c903c1f0a4
commit 12e9caf8c5
5 changed files with 12 additions and 14 deletions

View File

@ -136,6 +136,14 @@
// keys, etc.
// Forward declarations of SpiderMonkey's ubi::Node reference types.
namespace js {
namespace jit {
class JitCode;
}
}
namespace JS {
namespace ubi {
@ -462,6 +470,7 @@ template<> struct Concrete<JSObject> : TracerConcreteWithCompartment<JSObject> {
template<> struct Concrete<JSString> : TracerConcrete<JSString> { };
template<> struct Concrete<JS::Symbol> : TracerConcrete<JS::Symbol> { };
template<> struct Concrete<JSScript> : TracerConcreteWithCompartment<JSScript> { };
template<> struct Concrete<js::jit::JitCode> : TracerConcrete<js::jit::JitCode> { };
// The ubi::Node null pointer. Any attempt to operate on a null ubi::Node asserts.
template<>

View File

@ -820,9 +820,6 @@ JitCode::togglePreBarriers(bool enabled)
}
}
template<> const jschar JS::ubi::TracerConcrete<JitCode>::concreteTypeName[] =
MOZ_UTF16("js::jit::JitCode");
IonScript::IonScript()
: method_(nullptr),
deoptTable_(nullptr),

View File

@ -18,7 +18,6 @@
#include "jit/ExecutableAllocator.h"
#include "jit/IonOptimizationLevels.h"
#include "jit/IonTypes.h"
#include "js/UbiNode.h"
namespace js {
@ -813,13 +812,4 @@ IsMarked(const jit::VMFunction *)
} // namespace js
namespace JS {
namespace ubi {
// JS::ubi::Node can trace JitCode using JS_TraceChildren, and JitCode instances
// don't belong to any particular compartment, so we can use the generic
// JS::ubi::TracerConcrete template for their JS::ubi::Concrete specialization.
template<> struct Concrete<js::jit::JitCode> : TracerConcrete<js::jit::JitCode> { };
}
}
#endif /* jit_IonCode_h */

View File

@ -169,7 +169,6 @@ UNIFIED_SOURCES += [
'jit/IonMacroAssembler.cpp',
'jit/IonOptimizationLevels.cpp',
'jit/JitcodeMap.cpp',
'jit/JitOptions.cpp',
'jit/JitSpewer.cpp',
'jit/JSONSpewer.cpp',
'jit/LICM.cpp',
@ -290,6 +289,7 @@ UNIFIED_SOURCES += [
SOURCES += [
'builtin/RegExp.cpp',
'frontend/Parser.cpp',
'jit/JitOptions.cpp',
'jsarray.cpp',
'jsatom.cpp',
'jsmath.cpp',

View File

@ -235,3 +235,5 @@ template<> const jschar TracerConcrete<JS::Symbol>::concreteTypeName[] =
MOZ_UTF16("JS::Symbol");
template<> const jschar TracerConcrete<JSScript>::concreteTypeName[] =
MOZ_UTF16("JSScript");
template<> const jschar TracerConcrete<js::jit::JitCode>::concreteTypeName[] =
MOZ_UTF16("js::jit::JitCode");