mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 00:05:36 +00:00
Bug 1402379 - Part 2: Don't build Intl sources when ENABLE_INTL_API is not set. r=jwalden
Depends on D41767 Differential Revision: https://phabricator.services.mozilla.com/D41769 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
b24e1821b8
commit
c8b6bf7f43
@ -2,6 +2,7 @@
|
||||
* 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/. */
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
/**
|
||||
* Format this BigInt object into a string, using the locale and formatting
|
||||
* options provided.
|
||||
@ -32,3 +33,4 @@ function BigInt_toLocaleString() {
|
||||
// Step 3.
|
||||
return intl_FormatNumber(numberFormat, x, /* formatToParts = */ false);
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
@ -2,6 +2,7 @@
|
||||
* 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/. */
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
// This cache, once primed, has these properties:
|
||||
//
|
||||
// runtimeDefaultLocale:
|
||||
@ -166,3 +167,4 @@ function Date_toLocaleTimeString() {
|
||||
// Step 7.
|
||||
return intl_FormatDateTime(dateTimeFormat, x, /* formatToParts = */ false);
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
@ -2,9 +2,9 @@
|
||||
* 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/. */
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
var numberFormatCache = new Record();
|
||||
|
||||
|
||||
/**
|
||||
* Format this Number object into a string, using the locale and formatting options
|
||||
* provided.
|
||||
@ -37,6 +37,7 @@ function Number_toLocaleString() {
|
||||
// Step 5.
|
||||
return intl_FormatNumber(numberFormat, x, /* formatToParts = */ false);
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
// ES6 draft ES6 20.1.2.4
|
||||
function Number_isFinite(num) {
|
||||
|
@ -26,8 +26,10 @@
|
||||
|
||||
#include "builtin/Array.h"
|
||||
#include "builtin/Boolean.h"
|
||||
#include "builtin/intl/CommonFunctions.h"
|
||||
#include "builtin/intl/ICUStubs.h"
|
||||
#if ENABLE_INTL_API
|
||||
# include "builtin/intl/CommonFunctions.h"
|
||||
# include "builtin/intl/ICUStubs.h"
|
||||
#endif
|
||||
#include "builtin/RegExp.h"
|
||||
#include "jit/InlinableNatives.h"
|
||||
#include "js/Conversions.h"
|
||||
@ -885,6 +887,10 @@ bool js::str_toLowerCase(JSContext* cx, unsigned argc, Value* vp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
// String.prototype.toLocaleLowerCase is self-hosted when Intl is exposed,
|
||||
// with core functionality performed by the intrinsic below.
|
||||
|
||||
static const char* CaseMappingLocale(JSContext* cx, JSString* str) {
|
||||
JSLinearString* locale = str->ensureLinear(cx);
|
||||
if (!locale) {
|
||||
@ -973,11 +979,6 @@ bool js::intl_toLocaleLowerCase(JSContext* cx, unsigned argc, Value* vp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
|
||||
// String.prototype.toLocaleLowerCase is self-hosted when Intl is exposed,
|
||||
// with core functionality performed by the intrinsic above.
|
||||
|
||||
#else
|
||||
|
||||
// When the Intl API is not exposed, String.prototype.toLowerCase is implemented
|
||||
@ -1328,6 +1329,10 @@ bool js::str_toUpperCase(JSContext* cx, unsigned argc, Value* vp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
// String.prototype.toLocaleUpperCase is self-hosted when Intl is exposed,
|
||||
// with core functionality performed by the intrinsic below.
|
||||
|
||||
bool js::intl_toLocaleUpperCase(JSContext* cx, unsigned argc, Value* vp) {
|
||||
CallArgs args = CallArgsFromVp(argc, vp);
|
||||
MOZ_ASSERT(args.length() == 2);
|
||||
@ -1390,11 +1395,6 @@ bool js::intl_toLocaleUpperCase(JSContext* cx, unsigned argc, Value* vp) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
|
||||
// String.prototype.toLocaleUpperCase is self-hosted when Intl is exposed,
|
||||
// with core functionality performed by the intrinsic above.
|
||||
|
||||
#else
|
||||
|
||||
// When the Intl API is not exposed, String.prototype.toUpperCase is implemented
|
||||
|
@ -56,13 +56,11 @@ extern bool str_charCodeAt(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
||||
extern bool str_endsWith(JSContext* cx, unsigned argc, Value* vp);
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
/**
|
||||
* Returns the input string converted to lower case based on the language
|
||||
* specific case mappings for the input locale.
|
||||
*
|
||||
* This function only works #if ENABLE_INTL_API; if not, it will *crash*.
|
||||
* Govern yourself accordingly.
|
||||
*
|
||||
* Usage: lowerCase = intl_toLocaleLowerCase(string, locale)
|
||||
*/
|
||||
extern MOZ_MUST_USE bool intl_toLocaleLowerCase(JSContext* cx, unsigned argc,
|
||||
@ -72,13 +70,11 @@ extern MOZ_MUST_USE bool intl_toLocaleLowerCase(JSContext* cx, unsigned argc,
|
||||
* Returns the input string converted to upper case based on the language
|
||||
* specific case mappings for the input locale.
|
||||
*
|
||||
* This function only works #if ENABLE_INTL_API; if not, it will *crash*.
|
||||
* Govern yourself accordingly.
|
||||
*
|
||||
* Usage: upperCase = intl_toLocaleUpperCase(string, locale)
|
||||
*/
|
||||
extern MOZ_MUST_USE bool intl_toLocaleUpperCase(JSContext* cx, unsigned argc,
|
||||
Value* vp);
|
||||
#endif
|
||||
|
||||
ArrayObject* StringSplitString(JSContext* cx, Handle<ObjectGroup*> group,
|
||||
HandleString str, HandleString sep,
|
||||
|
@ -561,6 +561,7 @@ function StringIteratorNext() {
|
||||
return result;
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
var collatorCache = new Record();
|
||||
|
||||
/**
|
||||
@ -678,6 +679,7 @@ function String_toLocaleUpperCase() {
|
||||
// Steps 7-16.
|
||||
return intl_toLocaleUpperCase(string, requestedLocale);
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
// ES2018 draft rev 8fadde42cf6a9879b4ab0cb6142b31c4ee501667
|
||||
// 21.1.2.4 String.raw ( template, ...substitutions )
|
||||
|
@ -366,8 +366,10 @@ void js::gc::GCRuntime::traceRuntimeCommon(JSTracer* trc,
|
||||
// Trace the self-hosting global compartment.
|
||||
rt->traceSelfHostingGlobal(trc);
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
// Trace the shared Intl data.
|
||||
rt->traceSharedIntlData(trc);
|
||||
#endif
|
||||
|
||||
// Trace the JSContext.
|
||||
rt->mainContextFromOwnThread()->trace(trc);
|
||||
|
@ -9,12 +9,14 @@
|
||||
#include "jsmath.h"
|
||||
|
||||
#include "builtin/AtomicsObject.h"
|
||||
#include "builtin/intl/Collator.h"
|
||||
#include "builtin/intl/DateTimeFormat.h"
|
||||
#include "builtin/intl/Locale.h"
|
||||
#include "builtin/intl/NumberFormat.h"
|
||||
#include "builtin/intl/PluralRules.h"
|
||||
#include "builtin/intl/RelativeTimeFormat.h"
|
||||
#ifdef ENABLE_INTL_API
|
||||
# include "builtin/intl/Collator.h"
|
||||
# include "builtin/intl/DateTimeFormat.h"
|
||||
# include "builtin/intl/Locale.h"
|
||||
# include "builtin/intl/NumberFormat.h"
|
||||
# include "builtin/intl/PluralRules.h"
|
||||
# include "builtin/intl/RelativeTimeFormat.h"
|
||||
#endif
|
||||
#include "builtin/MapObject.h"
|
||||
#include "builtin/String.h"
|
||||
#include "builtin/TestingFunctions.h"
|
||||
@ -311,6 +313,7 @@ IonBuilder::InliningResult IonBuilder::inlineNativeCall(CallInfo& callInfo,
|
||||
case InlinableNative::Boolean:
|
||||
return inlineBoolean(callInfo);
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
// Intl natives.
|
||||
case InlinableNative::IntlGuardToCollator:
|
||||
return inlineGuardToClass(callInfo, &CollatorObject::class_);
|
||||
@ -324,6 +327,15 @@ IonBuilder::InliningResult IonBuilder::inlineNativeCall(CallInfo& callInfo,
|
||||
return inlineGuardToClass(callInfo, &PluralRulesObject::class_);
|
||||
case InlinableNative::IntlGuardToRelativeTimeFormat:
|
||||
return inlineGuardToClass(callInfo, &RelativeTimeFormatObject::class_);
|
||||
#else
|
||||
case InlinableNative::IntlGuardToCollator:
|
||||
case InlinableNative::IntlGuardToDateTimeFormat:
|
||||
case InlinableNative::IntlGuardToLocale:
|
||||
case InlinableNative::IntlGuardToNumberFormat:
|
||||
case InlinableNative::IntlGuardToPluralRules:
|
||||
case InlinableNative::IntlGuardToRelativeTimeFormat:
|
||||
MOZ_CRASH("Intl API disabled");
|
||||
#endif
|
||||
|
||||
// Math natives.
|
||||
case InlinableNative::MathAbs:
|
||||
|
@ -2604,6 +2604,7 @@ MOZ_ALWAYS_INLINE JSObject* ToWindowProxyIfWindow(JSObject* obj) {
|
||||
*/
|
||||
extern JS_FRIEND_API JSObject* ToWindowIfWindowProxy(JSObject* obj);
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
// Create and add the Intl.MozDateTimeFormat constructor function to the
|
||||
// provided object.
|
||||
//
|
||||
@ -2622,6 +2623,7 @@ extern bool AddMozDateTimeFormatConstructor(JSContext* cx,
|
||||
// Create and add the Intl.Locale constructor function to the provided object.
|
||||
// This function throws if called more than once per realm/global object.
|
||||
extern bool AddLocaleConstructor(JSContext* cx, JS::Handle<JSObject*> intl);
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
class MOZ_STACK_CLASS JS_FRIEND_API AutoAssertNoContentJS {
|
||||
public:
|
||||
|
@ -205,15 +205,6 @@ UNIFIED_SOURCES += [
|
||||
'builtin/Boolean.cpp',
|
||||
'builtin/DataViewObject.cpp',
|
||||
'builtin/Eval.cpp',
|
||||
'builtin/intl/Collator.cpp',
|
||||
'builtin/intl/CommonFunctions.cpp',
|
||||
'builtin/intl/DateTimeFormat.cpp',
|
||||
'builtin/intl/IntlObject.cpp',
|
||||
'builtin/intl/Locale.cpp',
|
||||
'builtin/intl/NumberFormat.cpp',
|
||||
'builtin/intl/PluralRules.cpp',
|
||||
'builtin/intl/RelativeTimeFormat.cpp',
|
||||
'builtin/intl/SharedIntlData.cpp',
|
||||
'builtin/JSON.cpp',
|
||||
'builtin/MapObject.cpp',
|
||||
'builtin/ModuleObject.cpp',
|
||||
@ -355,6 +346,19 @@ SOURCES += [
|
||||
'vm/ProfilingStack.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['ENABLE_INTL_API']:
|
||||
UNIFIED_SOURCES += [
|
||||
'builtin/intl/Collator.cpp',
|
||||
'builtin/intl/CommonFunctions.cpp',
|
||||
'builtin/intl/DateTimeFormat.cpp',
|
||||
'builtin/intl/IntlObject.cpp',
|
||||
'builtin/intl/Locale.cpp',
|
||||
'builtin/intl/NumberFormat.cpp',
|
||||
'builtin/intl/PluralRules.cpp',
|
||||
'builtin/intl/RelativeTimeFormat.cpp',
|
||||
'builtin/intl/SharedIntlData.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_INSTRUMENTS']:
|
||||
SOURCES += [
|
||||
'devtools/Instruments.cpp',
|
||||
@ -428,17 +432,6 @@ selfhosted.inputs = [
|
||||
'builtin/Error.js',
|
||||
'builtin/Function.js',
|
||||
'builtin/Generator.js',
|
||||
'builtin/intl/Collator.js',
|
||||
'builtin/intl/CommonFunctions.js',
|
||||
'builtin/intl/CurrencyDataGenerated.js',
|
||||
'builtin/intl/DateTimeFormat.js',
|
||||
'builtin/intl/IntlObject.js',
|
||||
'builtin/intl/LangTagMappingsGenerated.js',
|
||||
'builtin/intl/Locale.js',
|
||||
'builtin/intl/NumberFormat.js',
|
||||
'builtin/intl/PluralRules.js',
|
||||
'builtin/intl/RelativeTimeFormat.js',
|
||||
'builtin/intl/UnicodeExtensionsGenerated.js',
|
||||
'builtin/Iterator.js',
|
||||
'builtin/Map.js',
|
||||
'builtin/Module.js',
|
||||
@ -458,6 +451,21 @@ selfhosted.inputs = [
|
||||
'builtin/WeakSet.js'
|
||||
]
|
||||
|
||||
if CONFIG['ENABLE_INTL_API']:
|
||||
selfhosted.inputs += [
|
||||
'builtin/intl/Collator.js',
|
||||
'builtin/intl/CommonFunctions.js',
|
||||
'builtin/intl/CurrencyDataGenerated.js',
|
||||
'builtin/intl/DateTimeFormat.js',
|
||||
'builtin/intl/IntlObject.js',
|
||||
'builtin/intl/LangTagMappingsGenerated.js',
|
||||
'builtin/intl/Locale.js',
|
||||
'builtin/intl/NumberFormat.js',
|
||||
'builtin/intl/PluralRules.js',
|
||||
'builtin/intl/RelativeTimeFormat.js',
|
||||
'builtin/intl/UnicodeExtensionsGenerated.js',
|
||||
]
|
||||
|
||||
if CONFIG['JS_HAS_CTYPES']:
|
||||
if CONFIG['MOZ_SYSTEM_FFI']:
|
||||
CXXFLAGS += CONFIG['MOZ_FFI_CFLAGS']
|
||||
|
@ -475,11 +475,13 @@ class GlobalObject : public NativeObject {
|
||||
return &global->getPrototype(JSProto_WeakSet).toObject().as<NativeObject>();
|
||||
}
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
static JSObject* getOrCreateIntlObject(JSContext* cx,
|
||||
Handle<GlobalObject*> global) {
|
||||
return getOrCreateObject(cx, global, APPLICATION_SLOTS + JSProto_Intl,
|
||||
initIntlObject);
|
||||
}
|
||||
#endif
|
||||
|
||||
static JSObject* getOrCreateTypedObjectModule(JSContext* cx,
|
||||
Handle<GlobalObject*> global) {
|
||||
@ -498,6 +500,7 @@ class GlobalObject : public NativeObject {
|
||||
|
||||
TypedObjectModuleObject& getTypedObjectModule() const;
|
||||
|
||||
#if ENABLE_INTL_API
|
||||
static JSObject* getOrCreateCollatorPrototype(JSContext* cx,
|
||||
Handle<GlobalObject*> global) {
|
||||
return getOrCreateObject(cx, global, COLLATOR_PROTO, initIntlObject);
|
||||
@ -543,6 +546,7 @@ class GlobalObject : public NativeObject {
|
||||
Handle<GlobalObject*> global) {
|
||||
return getOrCreateObject(cx, global, LOCALE_PROTO, initIntlObject);
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
static bool ensureModulePrototypesCreated(JSContext* cx,
|
||||
Handle<GlobalObject*> global);
|
||||
@ -843,11 +847,13 @@ class GlobalObject : public NativeObject {
|
||||
static bool initMapIteratorProto(JSContext* cx, Handle<GlobalObject*> global);
|
||||
static bool initSetIteratorProto(JSContext* cx, Handle<GlobalObject*> global);
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
// Implemented in builtin/intl/IntlObject.cpp.
|
||||
static bool initIntlObject(JSContext* cx, Handle<GlobalObject*> global);
|
||||
|
||||
// Implemented in builtin/intl/Locale.cpp.
|
||||
static bool addLocaleConstructor(JSContext* cx, HandleObject intl);
|
||||
#endif
|
||||
|
||||
// Implemented in builtin/ModuleObject.cpp
|
||||
static bool initModuleProto(JSContext* cx, Handle<GlobalObject*> global);
|
||||
|
@ -242,7 +242,9 @@ void JSRuntime::destroyRuntime() {
|
||||
MOZ_ASSERT(childRuntimeCount == 0);
|
||||
MOZ_ASSERT(initialized_);
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
sharedIntlData.ref().destroyInstance();
|
||||
#endif
|
||||
|
||||
if (gcInitialized) {
|
||||
/*
|
||||
@ -368,8 +370,10 @@ void JSRuntime::addSizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf,
|
||||
sharedImmutableStrings_->sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
rtSizes->sharedIntlData +=
|
||||
sharedIntlData.ref().sizeOfExcludingThis(mallocSizeOf);
|
||||
#endif
|
||||
|
||||
{
|
||||
AutoLockScriptData lock(this);
|
||||
@ -564,9 +568,11 @@ const char* JSRuntime::getDefaultLocale() {
|
||||
return defaultLocale.ref().get();
|
||||
}
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
void JSRuntime::traceSharedIntlData(JSTracer* trc) {
|
||||
sharedIntlData.ref().trace(trc);
|
||||
}
|
||||
#endif
|
||||
|
||||
JSFreeOp::JSFreeOp(JSRuntime* maybeRuntime, bool isDefault)
|
||||
: runtime_(maybeRuntime), isDefault(isDefault), isCollecting_(!isDefault) {
|
||||
|
@ -22,7 +22,9 @@
|
||||
#include <setjmp.h>
|
||||
|
||||
#include "builtin/AtomicsObject.h"
|
||||
#include "builtin/intl/SharedIntlData.h"
|
||||
#ifdef ENABLE_INTL_API
|
||||
# include "builtin/intl/SharedIntlData.h"
|
||||
#endif
|
||||
#include "builtin/Promise.h"
|
||||
#include "frontend/BinASTRuntimeSupport.h"
|
||||
#include "frontend/NameCollections.h"
|
||||
@ -816,10 +818,12 @@ struct JSRuntime {
|
||||
// these are shared with the parentRuntime, if any.
|
||||
js::WriteOnceData<js::WellKnownSymbols*> wellKnownSymbols;
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
/* Shared Intl data for this runtime. */
|
||||
js::MainThreadData<js::intl::SharedIntlData> sharedIntlData;
|
||||
|
||||
void traceSharedIntlData(JSTracer* trc);
|
||||
#endif
|
||||
|
||||
// Table of bytecode and other data that may be shared across scripts
|
||||
// within the runtime. This may be modified by threads using
|
||||
|
@ -21,13 +21,15 @@
|
||||
|
||||
#include "builtin/Array.h"
|
||||
#include "builtin/BigInt.h"
|
||||
#include "builtin/intl/Collator.h"
|
||||
#include "builtin/intl/DateTimeFormat.h"
|
||||
#include "builtin/intl/IntlObject.h"
|
||||
#include "builtin/intl/Locale.h"
|
||||
#include "builtin/intl/NumberFormat.h"
|
||||
#include "builtin/intl/PluralRules.h"
|
||||
#include "builtin/intl/RelativeTimeFormat.h"
|
||||
#ifdef ENABLE_INTL_API
|
||||
# include "builtin/intl/Collator.h"
|
||||
# include "builtin/intl/DateTimeFormat.h"
|
||||
# include "builtin/intl/IntlObject.h"
|
||||
# include "builtin/intl/Locale.h"
|
||||
# include "builtin/intl/NumberFormat.h"
|
||||
# include "builtin/intl/PluralRules.h"
|
||||
# include "builtin/intl/RelativeTimeFormat.h"
|
||||
#endif
|
||||
#include "builtin/MapObject.h"
|
||||
#include "builtin/ModuleObject.h"
|
||||
#include "builtin/Object.h"
|
||||
@ -1724,6 +1726,7 @@ bool js::ReportIncompatibleSelfHostedMethod(JSContext* cx,
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
/**
|
||||
* Returns the default locale as a well-formed, but not necessarily
|
||||
* canonicalized, BCP-47 language tag.
|
||||
@ -1808,6 +1811,7 @@ static bool intrinsic_GetBuiltinIntlConstructor(JSContext* cx, unsigned argc,
|
||||
args.rval().setObject(*constructor);
|
||||
return true;
|
||||
}
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
static bool intrinsic_WarnDeprecatedMethod(JSContext* cx, unsigned argc,
|
||||
Value* vp) {
|
||||
@ -2220,8 +2224,6 @@ static const JSFunctionSpec intrinsic_functions[] = {
|
||||
JS_INLINABLE_FN("_FinishBoundFunctionInit",
|
||||
intrinsic_FinishBoundFunctionInit, 3, 0,
|
||||
IntrinsicFinishBoundFunctionInit),
|
||||
JS_FN("RuntimeDefaultLocale", intrinsic_RuntimeDefaultLocale, 0, 0),
|
||||
JS_FN("IsRuntimeDefaultLocale", intrinsic_IsRuntimeDefaultLocale, 1, 0),
|
||||
JS_FN("_DefineDataProperty", intrinsic_DefineDataProperty, 4, 0),
|
||||
JS_FN("_DefineProperty", intrinsic_DefineProperty, 6, 0),
|
||||
JS_FN("CopyDataPropertiesOrGetOwnKeys",
|
||||
@ -2451,13 +2453,14 @@ static const JSFunctionSpec intrinsic_functions[] = {
|
||||
// clang-format on
|
||||
#undef LOAD_AND_STORE_REFERENCE_FN_DECLS
|
||||
|
||||
#ifdef ENABLE_INTL_API
|
||||
// See builtin/intl/*.h for descriptions of the intl_* functions.
|
||||
JS_FN("intl_availableCalendars", intl_availableCalendars, 1, 0),
|
||||
JS_FN("intl_availableCollations", intl_availableCollations, 1, 0),
|
||||
#if DEBUG || MOZ_SYSTEM_ICU
|
||||
# if DEBUG || MOZ_SYSTEM_ICU
|
||||
JS_FN("intl_availableMeasurementUnits", intl_availableMeasurementUnits, 0,
|
||||
0),
|
||||
#endif
|
||||
# endif
|
||||
JS_FN("intl_canonicalizeTimeZone", intl_canonicalizeTimeZone, 1, 0),
|
||||
JS_FN("intl_Collator", intl_Collator, 2, 0),
|
||||
JS_FN("intl_Collator_availableLocales", intl_Collator_availableLocales, 0,
|
||||
@ -2542,6 +2545,9 @@ static const JSFunctionSpec intrinsic_functions[] = {
|
||||
intrinsic_GetBuiltinIntlConstructor<
|
||||
GlobalObject::getOrCreateNumberFormatConstructor>,
|
||||
0, 0),
|
||||
JS_FN("RuntimeDefaultLocale", intrinsic_RuntimeDefaultLocale, 0, 0),
|
||||
JS_FN("IsRuntimeDefaultLocale", intrinsic_IsRuntimeDefaultLocale, 1, 0),
|
||||
#endif // ENABLE_INTL_API
|
||||
|
||||
JS_FN("GetOwnPropertyDescriptorToArray", GetOwnPropertyDescriptorToArray, 2,
|
||||
0),
|
||||
|
Loading…
Reference in New Issue
Block a user