webkit在win32下的編譯規則(四)

接下來看JavaScriptCore這個工程,這個工程繼承的project property sheet如下:

../../../../WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops
../../../../WebKitLibraries/win/tools/vsprops/common.vsprops
../../../../WebKitLibraries/win/tools/vsprops/debug.vsprops
../../../../WebKitLibraries/win/tools/vsprops/debug_wincairo.vsprops
./JavaScriptCoreCommon.vsprops
./JavaScriptCoreCFLite.vsprops

上面的前面4個與WTF工程一樣,就不介紹了。

JavaScriptCoreCommon.vsprops主要用於設置javascriptcore依賴的頭文件目錄和庫文件,文件內容如下:

<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
	ProjectType="Visual C++"
	Version="8.00"
	Name="JavaScriptCoreCommon"
	>
	<Tool
		Name="VCCLCompilerTool"
		AdditionalIncludeDirectories=""$(ConfigurationBuildDir)/obj/JavaScriptCore/DerivedSources/";../../;../../API/;../../parser/;../../bytecompiler/;../../jit/;../../runtime/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;../../collector/handles/;"$(WebKitLibrariesDir)/include";"$(WebKitLibrariesDir)/include/private";"$(ConfigurationBuildDir)/include";"$(ConfigurationBuildDir)/include/JavaScriptCore";"$(ConfigurationBuildDir)/include/private";"$(WebKitLibrariesDir)/include/pthreads""
		PreprocessorDefinitions="__STD_C"
		ForcedIncludeFiles="ICUVersion.h"
	/>
	<Tool
		Name="VCLinkerTool"
		AdditionalDependencies="gdi32.lib oleaut32.lib winmm.lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib WTF$(WebKitConfigSuffix).lib"
		OutputFile="$(OutDir)/$(ProjectName)$(WebKitDLLConfigSuffix).dll"
		AdditionalLibraryDirectories=""$(IntDir)/lib""
		ModuleDefinitionFile="JavaScriptCore.def"
	/>
VisualStudioPropertySheet>
JavaScriptCoreCFLite.vsprops用於設置CFLite庫:
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
	ProjectType="Visual C++"
	Version="8.00"
	Name="JavaScriptCoreCFLite"
	>
	<Tool
		Name="VCLinkerTool"
		AdditionalDependencies="CFLite$(WebKitConfigSuffix).lib"
	/>
VisualStudioPropertySheet>

CFlite是Apple 的基礎組件,蘋果開源了Core Foundation的部分內容,可以到http://opensource.apple.com/source/下載。但webkit依賴的cflite蘋果並沒有公開全,不過網上有開源版本OpenCFLite(http://sourceforge.net/projects/opencflite/)。還有另外一個版本,請參考:http://www.yonsm.net/read.php?507

JavaScriptCore這個工程的pre-build event腳本如下:

REM Do not edit from the Visual Studio IDE! Customize via a $(ProjectName)PreBuild.cmd file.
if not exist "$(ProjectDir)$(ProjectName)PreBuild.cmd" exit /b

set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)
set CONFIGURATIONNAME=$(ConfigurationName)
set INPUTDIR=$(InputDir)
set INPUTFILENAME=$(InputFileName)
set INPUTPATH=$(InputPath)
set INTDIR=$(IntDir)
set LIBRARYCONFIGSUFFIX=$(LibraryConfigSuffix)
set OUTDIR=$(OutDir)
set PLATFORMNAME=$(PlatformName)
set PROJECTDIR=$(ProjectDir)
set PROJECTFILENAME=$(ProjectFileName)
set PROJECTNAME=$(ProjectName)
set PROJECTPATH=$(ProjectPath)
set SOLUTIONDIR=$(SolutionDir)
set SOLUTIONFILENAME=$(SolutionFileName)
set SOLUTIONNAME=$(SolutionName)
set SOLUTIONPATH=$(SolutionPath)
set TARGETDIR=$(TargetDir)
set TARGETEXT=$(TargetExt)
set TARGETFILENAME=$(TargetFileName)
set TARGETPATH=$(TargetPath)
set WEBKITCONFIGSUFFIX=$(WebKitConfigSuffix)
set WEBKITDLLCONFIGSUFFIX=$(WebKitDLLConfigSuffix)

REM If any of the above variables didn't exist previously and
REM were set to an empty string, set will set the errorlevel to 1,
REM which will cause the project-specific script to think the build
REM has failed. This cmd /c call will clear the errorlevel.
cmd /c

"$(ProjectDir)$(ProjectName)PreBuild.cmd"

主要是調用JavaScriptCorePreBuild.cmd這個文件,JavaScriptCorePreBuild.cmd這個文件內容如下:

%SystemDrive%/cygwin/bin/which.exe bash
if errorlevel 1 set PATH=%SystemDrive%/cygwin/bin;%PATH%
cmd /c
if exist "%CONFIGURATIONBUILDDIR%/buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%/buildfailed"
if errorlevel 1 exit 1
echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%/buildfailed"

bash "%WEBKITLIBRARIESDIR%/tools/scripts/auto-version.sh" "%INTDIR%"
從上面的代碼可以看出,JavaScriptCorePreBuild.cmd這個腳本的作用主要是調用auto-version.sh生成版本信息的頭文件,前面已經介紹,這裏就不再描述了。

在編譯JavaScriptCore這個工程時,cl.exe所使用的參數展開後如下:
/Od /I "C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/JavaScriptCore/DerivedSources//" /I "../../" /I "../../API/" /I "../../parser/" /I "../../bytecompiler/" /I "../../jit/" /I "../../runtime/" /I "../../bytecode/" /I "../../interpreter/" /I "../../wtf/" /I "../../profiler" /I "../../assembler/" /I "../../debugger/" /I "../../collector/handles/" /I "C:/cygwin/home/xufan/WebKit/WebKitLibraries/win/include" /I "C:/cygwin/home/xufan/WebKit/WebKitLibraries/win/include/private" /I "C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/include" /I "C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/include/JavaScriptCore" /I "C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/include/private" /I "C:/cygwin/home/xufan/WebKit/WebKitLibraries/win/include/pthreads" /I "C:/cygwin/home/xufan/WebKit/WebKitLibraries/win/include/cairo" /D "__STD_C" /D "WIN32" /D "_WINDOWS" /D "WINVER=0x502" /D "_WIN32_WINNT=0x502" /D "_WIN32_IE=0x603" /D "_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1" /D "__PRODUCTION__=0" /D "_HAS_EXCEPTIONS=0" /D "BUILDING_JavaScriptCore" /D "ENABLE_CHANNEL_MESSAGING" /D "ENABLE_DATABASE" /D "ENABLE_DATALIST" /D "ENABLE_DOM_STORAGE" /D "ENABLE_EVENTSOURCE" /D "ENABLE_FILTERS" /D "ENABLE_ICONDATABASE" /D "ENABLE_JAVASCRIPT_DEBUGGER" /D "ENABLE_METER_TAG" /D "ENABLE_OFFLINE_WEB_APPLICATIONS" /D "ENABLE_SHARED_WORKERS" /D "ENABLE_SVG" /D "ENABLE_SVG_ANIMATION" /D "ENABLE_SVG_AS_IMAGE" /D "ENABLE_SVG_FONTS" /D "ENABLE_SVG_FOREIGN_OBJECT" /D "ENABLE_SVG_USE" /D "ENABLE_WEB_SOCKETS" /D "ENABLE_WORKERS" /D "ENABLE_XPATH" /D "ENABLE_XSLT" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /Gm /RTC1 /MTd /GR- /Fo"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/JavaScriptCore//" /Fd"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/JavaScriptCore/vc80.pdb" /W4 /nologo /c /Zi /TP /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4180 /wd4189 /wd4201 /wd4244 /wd4251 /wd4275 /wd4288 /wd4291 /wd4305 /wd4344 /wd4355 /wd4389 /wd4503 /wd4505 /wd4510 /wd4512 /wd4610 /wd4706 /wd4800 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387 /FI "ICUVersion.h" /errorReport:prompt  /GS

裏面的類似於/D "ENABLE_SVG"的宏定義就是用於開啓webkit的相關特性的,在cpp裏面的一般用這種寫法來判斷是否開啓:

#if ENABLE(SVG)
#include "XLinkNames.h"
#include "SVGNames.h"
#endif
類似ENABLE的還有USE,PLATFORM,HAVE等,這些宏的定義在D:/tools/cygwin/home/xufan/WebKit/Source/JavaScriptCore/wtf/Platform.h 裏面定義:
/* ==== PLATFORM handles OS, operating environment, graphics API, and
   CPU. This macro will be phased out in favor of platform adaptation
   macros, policy decision macros, and top-level port definitions. ==== */
#define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE  && WTF_PLATFORM_##WTF_FEATURE)


/* ==== Platform adaptation macros: these describe properties of the target environment. ==== */

/* COMPILER() - the compiler being used to build the project */
#define COMPILER(WTF_FEATURE) (defined WTF_COMPILER_##WTF_FEATURE  && WTF_COMPILER_##WTF_FEATURE)
/* CPU() - the target CPU architecture */
#define CPU(WTF_FEATURE) (defined WTF_CPU_##WTF_FEATURE  && WTF_CPU_##WTF_FEATURE)
/* HAVE() - specific system features (headers, functions or similar) that are present or not */
#define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE  && HAVE_##WTF_FEATURE)
/* OS() - underlying operating system; only to be used for mandated low-level services like 
   virtual memory, not to choose a GUI toolkit */
#define OS(WTF_FEATURE) (defined WTF_OS_##WTF_FEATURE  && WTF_OS_##WTF_FEATURE)


/* ==== Policy decision macros: these define policy choices for a particular port. ==== */

/* USE() - use a particular third-party library or optional OS service */
#define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE  && WTF_USE_##WTF_FEATURE)
/* ENABLE() - turn on a specific feature of WebKit */
#define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE  && ENABLE_##WTF_FEATURE)


Platform.h還定義了其他很多跟平臺相關的宏,這些宏在移植webkit到其他平臺(例如arm)時要特別注意。

JavaScriptCore這個工程的link參數如下:

/OUT:"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/bin/JavaScriptCore_debug.dll" /INCREMENTAL /NOLOGO /LIBPATH:"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/JavaScriptCore/lib" /LIBPATH:"C:/cygwin/home/xufan/WebKit/WebKitLibraries/win/lib" /LIBPATH:"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/lib" /DLL /MANIFEST /MANIFESTFILE:"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/obj/JavaScriptCore/JavaScriptCore_debug.dll.intermediate.manifest" /DEF:"JavaScriptCore.def" /DEBUG /PDB:"c:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/bin/JavaScriptCore_debug.pdb" /SUBSYSTEM:WINDOWS /IMPLIB:"C:/cygwin/home/xufan/WebKit/WebKitBuild/Debug_Cairo_CFLite/lib/JavaScriptCore_debug.lib" /MACHINE:X86 /ERRORREPORT:PROMPT CFLite_debug.lib gdi32.lib oleaut32.lib winmm.lib libicuin.lib libicuuc.lib pthreadVC2.lib WTF_debug.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  /SAFESEH /FIXED:NO /dynamicbase /ignore:4221

JavaScriptCore這個工程最終編譯成JavaScriptCore.dll(或JavaScriptCore_debug.dll),這個dll到處和如下函數供jsc,webcore等工程使用(c:/cygwin/home/xufan/WebKit/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def,這裏面的很多函數可以到蘋果的網站http://developer.apple.com/library/mac/#documentation/Carbon/Reference/WebKit_JavaScriptCore_Ref/index.html看幫助):

WTF::CString::CString(char const *)
WTF::CString::CString(char const *,unsigned int)
WTF::Collator::Collator(char const *)
JSC::DateInstance::DateInstance(class JSC::ExecState *,double)
JSC::DateInstance::DateInstance(class JSC::ExecState *,class WTF::NonNullPassRefPtr<class JSC::Structure>,double)
JSC::DefaultGCActivityCallback::DefaultGCActivityCallback(class JSC::Heap *)
JSC::JSLock::DropAllLocks::DropAllLocks(enum JSC::JSLockBehavior)
JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope(class JSC::ExecState *,class JSC::JSGlobalObject *)
JSC::InternalFunction::InternalFunction(class JSC::JSGlobalData *,class JSC::JSGlobalObject *,class WTF::NonNullPassRefPtr<class JSC::Structure>,class JSC::Identifier const &)
JSC::JSArray::JSArray(class JSC::JSGlobalData &,class WTF::NonNullPassRefPtr<class JSC::Structure>,class JSC::ArgList const &)
JSC::JSArray::JSArray(class WTF::NonNullPassRefPtr<class JSC::Structure>)
JSC::JSByteArray::JSByteArray(class JSC::ExecState *,class WTF::NonNullPassRefPtr<class JSC::Structure>,class WTF::ByteArray *)
JSC::JSFunction::JSFunction(class JSC::ExecState *,class JSC::JSGlobalObject *,class WTF::NonNullPassRefPtr<class JSC::Structure>,int,class JSC::Identifier const &,__int64 (*)(class JSC::ExecState *))
JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject(class JSC::JSGlobalObject *,class WTF::NonNullPassRefPtr<class JSC::Structure>)
JSC::JSString::JSString(enum JSC::JSString::VPtrStealingHackType)
JSC::JSString::JSString(class JSC::ExecState *,class JSC::JSValue,class JSC::JSValue,class JSC::JSValue)
JSC::JSString::JSString(class JSC::JSGlobalData *,class JSC::UString const &,class JSC::UString const &,class JSC::UString const &)
JSC::JSString::JSString(class JSC::JSGlobalData *,class JSC::UString const &,class JSC::UString const &)
JSC::JSString::JSString(class JSC::JSGlobalData *,class JSC::UString const &)
JSC::JSString::JSString(class JSC::JSGlobalData *,class JSC::UString const &,void (*)(class JSC::JSString *,void *),void *)
JSC::JSString::JSString(class JSC::JSGlobalData *,class JSC::UString const &,enum JSC::JSString::HasOtherOwnerType)
JSC::JSString::JSString(class JSC::JSGlobalData *,unsigned int,class JSC::UString const &,class JSC::JSString *)
JSC::JSString::JSString(class JSC::JSGlobalData *,unsigned int,class JSC::JSString *,class JSC::JSString *)
JSC::JSString::JSString(class JSC::JSGlobalData *,unsigned int,class JSC::JSString *,class JSC::UString const &)
JSC::JSString::JSString(class JSC::JSGlobalData *,class WTF::PassRefPtr<class JSC::RopeImpl>)
JSC::JSString::JSString(class JSC::JSGlobalData *,class WTF::PassRefPtr<class WTF::StringImpl>,enum JSC::JSString::HasOtherOwnerType)
WTF::MD5::MD5(void)
WTF::Mutex::Mutex(void)
WTF::RefCountedLeakCounter::RefCountedLeakCounter(char const *)
JSC::RegExpObject::RegExpObject(class JSC::JSGlobalObject *,class WTF::NonNullPassRefPtr<class JSC::Structure>,class WTF::NonNullPassRefPtr<class JSC::RegExp>)
JSC::StringObject::StringObject(class JSC::ExecState *,class WTF::NonNullPassRefPtr<class JSC::Structure>,class JSC::UString const &)
JSC::Structure::Structure(class JSC::JSValue,class JSC::TypeInfo const &,unsigned int,struct JSC::ClassInfo const *)
WTF::ThreadCondition::ThreadCondition(void)
JSC::UString::UString(char const *)
JSC::UString::UString(char const *,unsigned int)
JSC::UString::UString(wchar_t const *,unsigned int)
WTF::WTFThreadData::WTFThreadData(void)
JSC::Yarr::YarrPattern::YarrPattern(class JSC::UString const &,bool,bool,char const * *)
JSC::JSGlobalData::ClientData::~ClientData(void)
WTF::Collator::~Collator(void)
JSC::Debugger::~Debugger(void)
JSC::JSLock::DropAllLocks::~DropAllLocks(void)
JSC::JSGlobalData::~JSGlobalData(void)
JSC::JSGlobalObject::~JSGlobalObject(void)
JSC::JSString::~JSString(void)
WTF::Mutex::~Mutex(void)
WTF::RefCountedLeakCounter::~RefCountedLeakCounter(void)
JSC::RegExp::~RegExp(void)
JSC::SourceProviderCache::~SourceProviderCache(void)
JSC::Structure::~Structure(void)
WTF::ThreadCondition::~ThreadCondition(void)
WTF::WTFThreadData::~WTFThreadData(void)
void * JSC::JSGlobalObject::operator new(unsigned int,class JSC::JSGlobalData *)
bool JSC::operator==(class JSC::UString const &,class JSC::UString const &)
bool WTF::operator==(class WTF::CString const &,class WTF::CString const &)
const JSC::JSString::`vftable'
double const JSC::NaN
unsigned long WTF::absoluteTimeToWaitTimeoutInterval(double)
class WTF::PassRefPtr<class WTF::StringImpl> JSC::Identifier::add(class JSC::ExecState *,char const *)
void JSC::PropertyNameArray::add(class WTF::StringImpl *)
void WTF::MD5::addBytes(unsigned char const *,unsigned int)
class WTF::PassRefPtr<class JSC::Structure> JSC::Structure::addPropertyTransition(class JSC::Structure *,class JSC::Identifier const &,unsigned int,class JSC::JSCell *,unsigned int &)
class WTF::PassRefPtr<class JSC::Structure> JSC::Structure::addPropertyTransitionToExistingStructure(class JSC::Structure *,class JSC::Identifier const &,unsigned int,class JSC::JSCell *,unsigned int &)
unsigned int JSC::Structure::addPropertyWithoutTransition(class JSC::Identifier const &,unsigned int,class JSC::JSCell *)
class WTF::PassRefPtr<class WTF::StringImpl> JSC::Identifier::addSlowCase(class JSC::ExecState *,class WTF::StringImpl *)
void * JSC::Heap::allocate(unsigned int)
void JSC::JSObject::allocatePropertyStorage(unsigned int,unsigned int)
void * JSC::MarkStack::allocateStack(unsigned int)
void WTF::StringBuilder::append(char const *,unsigned int)
void WTF::StringBuilder::append(wchar_t const *,unsigned int)
void JSC::JSString::appendStringInConstruct(unsigned int &,class JSC::UString const &)
void JSC::JSString::appendStringInConstruct(unsigned int &,class JSC::JSString *)
void JSC::JSString::appendValueInConstructAndIncrementLength(class JSC::ExecState *,unsigned int &,class JSC::JSValue)
class WTF::CString JSC::UString::ascii(void)
void JSC::Debugger::attach(class JSC::JSGlobalObject *)
void WTF::ThreadCondition::broadcast(void)
unsigned int WTF::DecimalNumber::bufferLengthForStringDecimal(void)
class WTF::PassOwnPtr<struct JSC::Yarr::BytecodePattern> JSC::Yarr::byteCompile(struct JSC::Yarr::YarrPattern &,class WTF::BumpPointerAllocator *)
unsigned int JSC::SourceProviderCache::byteSize(void)
double WTF::calculateDSTOffset(double,double)
unsigned int WTF::Unicode::calculateStringHashAndLengthFromUTF8(char const *,unsigned int &,unsigned int &)
unsigned int WTF::Unicode::calculateStringHashFromUTF8(char const *,char const *,unsigned int &)
int WTF::calculateUTCOffset(void)
class JSC::UString JSC::DebuggerCallFrame::calculatedFunctionName(void)
class JSC::JSValue JSC::call(class JSC::ExecState *,class JSC::JSValue,enum JSC::CallType,union JSC::CallData const &,class JSC::JSValue,class JSC::ArgList const &)
void WTF::callOnMainThread(void (*)(void *),void *)
void WTF::callOnMainThreadAndWait(void (*)(void *),void *)
bool JSC::JSString::canGetIndex(unsigned int)
void WTF::cancelCallOnMainThread(void (*)(void *),void *)
unsigned int JSC::Heap::capacity(void)
class WTF::PassRefPtr<class JSC::Structure> JSC::Structure::changePrototypeTransition(class JSC::Structure *,class JSC::JSValue)
void JSC::Identifier::checkCurrentIdentifierTable(class JSC::ExecState *)
void JSC::Identifier::checkCurrentIdentifierTable(class JSC::JSGlobalData *)
class JSC::Completion JSC::checkSyntax(class JSC::ExecState *,class JSC::SourceCode const &)
void WTF::MD5::checksum(class WTF::Vector<unsigned char,16> &)
class JSC::UString JSC::JSObject::className(void)
void JSC::SourceProviderCache::clear(void)
enum WTF::Collator::Result WTF::Collator::collate(wchar_t const *,unsigned int,wchar_t const *,unsigned int)
void JSC::Heap::collectAllGarbage(void)
class WTF::AtomicString const WTF::commentAtom
bool JSC::PropertyDescriptor::configurable(void)
class JSC::JSObject * JSC::construct(class JSC::ExecState *,class JSC::JSValue,enum JSC::ConstructType,union JSC::ConstructData const &,class JSC::ArgList const &)
class JSC::JSArray * JSC::constructArray(class JSC::ExecState *,class JSC::ArgList const &)
class JSC::JSArray * JSC::constructEmptyArray(class JSC::ExecState *)
class JSC::JSObject * JSC::constructEmptyObject(class JSC::ExecState *)
class JSC::JSObject * JSC::constructFunction(class JSC::ExecState *,class JSC::ArgList const &,class JSC::Identifier const &,class JSC::UString const &,int)
enum WTF::Unicode::ConversionResult WTF::Unicode::convertUTF16ToUTF8(wchar_t const * *,wchar_t const *,char * *,char *,bool)
enum WTF::Unicode::ConversionResult WTF::Unicode::convertUTF8ToUTF16(char const * *,char const *,wchar_t * *,wchar_t *,bool)
class WTF::PassRefPtr<class WTF::ByteArray> WTF::ByteArray::create(unsigned int)
class WTF::PassRefPtr<class JSC::JSGlobalData> JSC::JSGlobalData::create(enum JSC::ThreadStackType)
class WTF::PassRefPtr<struct OpaqueJSString> OpaqueJSString::create(class JSC::UString const &)
class WTF::PassRefPtr<class JSC::RegExp> JSC::RegExp::create(class JSC::JSGlobalData *,class JSC::UString const &,class JSC::UString const &)
void JSC::SmallStrings::createEmptyString(class JSC::JSGlobalData *)
class JSC::JSObject * JSC::createError(class JSC::ExecState *,class JSC::UString const &)
class JSC::Structure * JSC::JSObject::createInheritorID(void)
class JSC::JSObject * JSC::createInterruptedExecutionException(class JSC::JSGlobalData *)
class WTF::PassRefPtr<class JSC::JSGlobalData> JSC::JSGlobalData::createLeaked(enum JSC::ThreadStackType)
class JSC::JSObject * JSC::createRangeError(class JSC::ExecState *,class JSC::UString const &)
class JSC::JSObject * JSC::createReferenceError(class JSC::ExecState *,class JSC::UString const &)
void JSC::SmallStrings::createSingleCharacterString(class JSC::JSGlobalData *,unsigned char)
class JSC::JSObject * JSC::createStackOverflowError(class JSC::ExecState *)
class WTF::PassRefPtr<class JSC::Structure> JSC::JSByteArray::createStructure(class JSC::JSValue,struct JSC::ClassInfo const *)
class WTF::PassRefPtr<class JSC::Structure> JSC::JSString::createStructure(class JSC::JSValue)
class JSC::JSObject * JSC::createSyntaxError(class JSC::ExecState *,class JSC::UString const &)
void JSC::HashTable::createTable(class JSC::JSGlobalData *)
unsigned int WTF::createThread(void * (*)(void *),void *)
unsigned int WTF::createThread(void * (*)(void *),void *,char const *)
class JSC::JSObject * JSC::createTypeError(class JSC::ExecState *,class JSC::UString const &)
unsigned int WTF::cryptographicallyRandomNumber(void)
void WTF::cryptographicallyRandomValues(void *,unsigned int)
unsigned int WTF::currentThread(void)
double WTF::currentTime(void)
char const * WTF::CString::data(void)
double WTF::dateToDaysFrom1970(int,int,int)
int WTF::dayInMonthFromDayInYear(int,bool)
int WTF::dayInYear(double,int)
void WTF::RefCountedLeakCounter::decrement(void)
unsigned int JSC::PropertyDescriptor::defaultAttributes
class JSC::JSValue JSC::JSObject::defaultValue(class JSC::ExecState *,enum JSC::PreferredPrimitiveType)
void JSC::JSGlobalObject::defineGetter(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSObject *,unsigned int)
void JSC::JSObject::defineGetter(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSObject *,unsigned int)
bool JSC::JSObject::defineOwnProperty(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &,bool)
void JSC::JSGlobalObject::defineSetter(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSObject *,unsigned int)
void JSC::JSObject::defineSetter(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSObject *,unsigned int)
void WTF::deleteOwnedPtr(struct HBITMAP__ *)
void WTF::deleteOwnedPtr(struct HBRUSH__ *)
void WTF::deleteOwnedPtr(struct HDC__ *)
void WTF::deleteOwnedPtr(struct HFONT__ *)
void WTF::deleteOwnedPtr(struct HRGN__ *)
bool JSC::JSCell::deleteProperty(class JSC::ExecState *,class JSC::Identifier const &)
bool JSC::JSCell::deleteProperty(class JSC::ExecState *,unsigned int)
bool JSC::JSObject::deleteProperty(class JSC::ExecState *,class JSC::Identifier const &)
bool JSC::JSObject::deleteProperty(class JSC::ExecState *,unsigned int)
bool JSC::JSVariableObject::deleteProperty(class JSC::ExecState *,class JSC::Identifier const &)
bool JSC::StringObject::deleteProperty(class JSC::ExecState *,class JSC::Identifier const &)
void JSC::HashTable::deleteTable(void)
void JSC::Structure::despecifyDictionaryFunction(class JSC::Identifier const &)
class WTF::PassRefPtr<class JSC::Structure> JSC::Structure::despecifyFunctionTransition(class JSC::Structure *,class JSC::Identifier const &)
void JSC::Heap::destroy(void)
void JSC::JSGlobalObject::destroyJSGlobalObjectData(void *)
void JSC::Debugger::detach(class JSC::JSGlobalObject *)
void WTF::detachThread(unsigned int)
bool JSC::TimeoutChecker::didTimeOut(class JSC::ExecState *)
void WTF::dtoa(char * const,double,bool &,int &,unsigned int &)
void JSC::JSGlobalData::dumpSampleData(class JSC::ExecState *)
class WTF::StringImpl * WTF::StringImpl::empty(void)
class WTF::AtomicString const WTF::emptyAtom
bool JSC::PropertyDescriptor::enumerable(void)
bool JSC::Identifier::equal(class WTF::StringImpl const *,char const *)
bool WTF::Unicode::equalUTF16WithUTF8(wchar_t const *,wchar_t const *,char const *,char const *)
class JSC::JSValue JSC::DebuggerCallFrame::evaluate(class JSC::UString const &,class JSC::JSValue &)
class JSC::Completion JSC::evaluate(class JSC::ExecState *,class JSC::ScopeChain &,class JSC::SourceCode const &,class JSC::JSValue)
void JSC::Profile::exclude(class JSC::ProfileNode const *)
void * WTF::fastCalloc(unsigned int,unsigned int)
void WTF::fastFree(void *)
void * WTF::fastMalloc(unsigned int)
unsigned int WTF::fastMallocSize(void const *)
void * WTF::fastRealloc(void *,unsigned int)
char * WTF::fastStrDup(char const *)
void * WTF::fastZeroedMalloc(unsigned int)
unsigned int JSC::JSString::fiberCount(void)
void JSC::JSObject::fillGetterPropertySlot(class JSC::PropertySlot &,class JSC::WriteBarrierBase<enum JSC::Unknown> *)
void JSC::Profile::focus(class JSC::ProfileNode const *)
class JSC::Identifier JSC::Identifier::from(class JSC::ExecState *,int)
class JSC::Identifier JSC::Identifier::from(class JSC::ExecState *,unsigned int)
class JSC::JSValue JSC::PropertySlot::functionGetter(class JSC::ExecState *)
class JSC::UString const * JSC::DebuggerCallFrame::functionName(void)
unsigned int JSC::Structure::get(class WTF::StringImpl const *,unsigned int &,class JSC::JSCell * &)
enum JSC::CallType JSC::JSCell::getCallData(union JSC::CallData &)
enum JSC::ConstructType JSC::JSCell::getConstructData(union JSC::ConstructData &)
class JSC::JSString * JSC::JSString::getIndex(class JSC::ExecState *,unsigned int)
class JSC::JSString * JSC::JSString::getIndexSlowCase(class JSC::ExecState *,unsigned int)
class JSC::JSValue JSC::JSCell::getJSNumber(void)
class JSC::JSObject * JSC::JSCell::getObject(void)
bool JSC::JSObject::getOwnPropertyDescriptor(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &)
bool JSC::JSString::getOwnPropertyDescriptor(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &)
bool JSC::StringObject::getOwnPropertyDescriptor(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &)
void JSC::JSObject::getOwnPropertyNames(class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)
void JSC::JSVariableObject::getOwnPropertyNames(class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)
void JSC::StringObject::getOwnPropertyNames(class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)
bool JSC::JSArray::getOwnPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::JSCell::getOwnPropertySlot(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertySlot &)
bool JSC::JSCell::getOwnPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::JSObject::getOwnPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::JSString::getOwnPropertySlot(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertySlot &)
bool JSC::JSString::getOwnPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::StringObject::getOwnPropertySlot(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertySlot &)
bool JSC::StringObject::getOwnPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::JSCell::getPrimitiveNumber(class JSC::ExecState *,double &,class JSC::JSValue &)
bool JSC::JSObject::getPrimitiveNumber(class JSC::ExecState *,double &,class JSC::JSValue &)
bool JSC::JSString::getPrimitiveNumber(class JSC::ExecState *,double &,class JSC::JSValue &)
bool JSC::JSObject::getPropertyDescriptor(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &)
void JSC::JSObject::getPropertyNames(class JSC::ExecState *,class JSC::PropertyNameArray &,enum JSC::EnumerationMode)
void JSC::ArgList::getSlice(int,class JSC::ArgList &)
class JSC::UString JSC::JSCell::getString(class JSC::ExecState *)
bool JSC::JSCell::getString(class JSC::ExecState *,class JSC::UString &)
bool JSC::JSString::getStringPropertyDescriptor(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertyDescriptor &)
bool JSC::JSString::getStringPropertySlot(class JSC::ExecState *,class JSC::Identifier const &,class JSC::PropertySlot &)
bool JSC::JSString::getStringPropertySlot(class JSC::ExecState *,unsigned int,class JSC::PropertySlot &)
bool JSC::JSCell::getUInt32(unsigned int &)
class JSC::JSValue JSC::PropertyDescriptor::getter(void)
class JSC::ExecState * JSC::JSGlobalObject::globalExec(void)
class JSC::JSGlobalObject * JSC::JSObjectWithGlobalObject::globalObject(void)
unsigned int JSC::Heap::globalObjectCount(void)
void JSC::HandleHeap::grow(void)
bool JSC::JSObject::hasInstance(class JSC::ExecState *,class JSC::JSValue,class JSC::JSValue)
bool JSC::JSObject::hasProperty(class JSC::ExecState *,class JSC::Identifier const &)
bool JSC::JSObject::hasProperty(class JSC::ExecState *,unsigned int)
class JSC::Heap * JSC::Heap::heap(class JSC::JSValue)
void WTF::RefCountedLeakCounter::increment(void)
void WTF::AtomicString::init(void)
void JSC::JSGlobalObject::init(class JSC::JSObject *)
void WTF::initializeMainThread(void)
void JSC::initializeThreading(void)
void WTF::initializeThreading(void)
int JSC::Yarr::interpret(struct JSC::Yarr::BytecodePattern *,wchar_t const *,unsigned int,unsigned int,int *)
bool JSC::PropertyDescriptor::isAccessorDescriptor(void)
bool JSC::Heap::isBusy(void)
bool JSC::PropertyDescriptor::isDataDescriptor(void)
bool JSC::JSGlobalObject::isDynamicScope(bool &)
bool JSC::JSCell::isGetterSetter(void)
bool JSC::JSFunction::isHostFunctionNonInline(void)
bool WTF::isMainThread(void)
bool JSC::JSString::isRope(void)
bool JSC::JSValue::isValidCallee(void)
bool JSC::JSVariableObject::isVariableObject(void)
void * JSC::JSGlobalData::jsArrayVPtr
void * JSC::JSGlobalData::jsByteArrayVPtr
void * JSC::JSGlobalData::jsFunctionVPtr
class JSC::JSValue JSC::jsNumberCell(class JSC::ExecState *,double)
class JSC::JSString * JSC::jsOwnedString(class JSC::JSGlobalData *,class JSC::UString const &)
class JSC::JSString * JSC::jsString(class JSC::JSGlobalData *,class JSC::UString const &)
void * JSC::JSGlobalData::jsStringVPtr
unsigned int WTF::CString::length(void)
unsigned int JSC::JSString::length(void)
void JSC::JSLock::lock(enum JSC::JSLockBehavior)
void WTF::Mutex::lock(void)
void WTF::lockAtomicallyInitializedStaticMutex(void)
class JSC::JSValue JSC::JSObject::lookupGetter(class JSC::ExecState *,class JSC::Identifier const &)
class JSC::JSValue JSC::JSObject::lookupSetter(class JSC::ExecState *,class JSC::Identifier const &)
void JSC::JSGlobalObject::markChildren(class JSC::MarkStack &)
void JSC::JSObject::markChildren(class JSC::MarkStack &)
void JSC::JSWrapperObject::markChildren(class JSC::MarkStack &)
void JSC::Structure::materializePropertyMap(void)
int WTF::monthFromDayInYear(int,bool)
int WTF::msToYear(double)
class JSC::UString const & JSC::InternalFunction::name(class JSC::ExecState *)
class JSC::UString const & JSC::JSFunction::name(class JSC::ExecState *)
class WTF::CString WTF::CString::newUninitialized(unsigned int,char * &)
double JSC::nonInlineNaN(void)
class WTF::AtomicString const WTF::nullAtom
class std::nullptr_t nullptr
class JSC::UString JSC::UString::number(int)
class JSC::UString JSC::UString::number(unsigned int)
class JSC::UString JSC::UString::number(double)
unsigned int WTF::numberToString(double,wchar_t * const)
unsigned int JSC::Heap::objectCount(void)
__int64 JSC::objectProtoFuncToString(class JSC::ExecState *)
double WTF::parseDateFromNullTerminatedCharacters(char const *)
class JSC::Profiler * JSC::Profiler::profiler(void)
void JSC::Heap::protect(class JSC::JSValue)
unsigned int JSC::Heap::protectedGlobalObjectCount(void)
unsigned int JSC::Heap::protectedObjectCount(void)
class WTF::PassOwnPtr<class WTF::HashCountedSet<char const *,struct WTF::PtrHash<char const *>,struct WTF::HashTraits<char const *> > > JSC::Heap::protectedObjectTypeCounts(void)
void JSC::JSCell::put(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,class JSC::PutPropertySlot &)
void JSC::JSCell::put(class JSC::ExecState *,unsigned int,class JSC::JSValue)
void JSC::JSGlobalObject::put(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,class JSC::PutPropertySlot &)
void JSC::JSObject::put(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,class JSC::PutPropertySlot &)
void JSC::JSObject::put(class JSC::ExecState *,unsigned int,class JSC::JSValue)
void JSC::StringObject::put(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,class JSC::PutPropertySlot &)
void JSC::JSObject::putDirectFunction(class JSC::ExecState *,class JSC::InternalFunction *,unsigned int)
void JSC::JSObject::putDirectFunction(class JSC::ExecState *,class JSC::JSFunction *,unsigned int)
void JSC::JSGlobalObject::putWithAttributes(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,unsigned int)
void JSC::JSObject::putWithAttributes(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,unsigned int)
void JSC::JSObject::putWithAttributes(class JSC::ExecState *,class JSC::Identifier const &,class JSC::JSValue,unsigned int,bool,class JSC::PutPropertySlot &)
void JSC::JSObject::putWithAttributes(class JSC::ExecState *,unsigned int,class JSC::JSValue,unsigned int)
void JSC::JSObject::putWithAttributes(class JSC::JSGlobalData *,class JSC::Identifier const &,class JSC::JSValue,unsigned int)
void JSC::JSObject::putWithAttributes(class JSC::JSGlobalData *,class JSC::Identifier const &,class JSC::JSValue,unsigned int,bool,class JSC::PutPropertySlot &)
void JSC::JSObject::putWithAttributes(class JSC::JSGlobalData *,unsigned int,class JSC::JSValue,unsigned int)
double WTF::randomNumber(void)
void JSC::Debugger::recompileAllJSFunctions(class JSC::JSGlobalData *)
void WTF::StringBuilder::reifyString(void)
void WTF::OSAllocator::releaseDecommitted(void *,unsigned int)
void JSC::MarkStack::releaseStack(void *,unsigned int)
class JSC::JSValue JSC::JSString::replaceCharacter(class JSC::ExecState *,wchar_t,class JSC::UString const &)
void JSC::Heap::reportExtraMemoryCostSlowCase(unsigned int)
void * WTF::OSAllocator::reserveAndCommit(unsigned int,enum WTF::OSAllocator::Usage,bool,bool)
void JSC::ParserArena::reset(void)
void JSC::TimeoutChecker::reset(void)
void JSC::JSGlobalData::resetDateCache(void)
void WTF::StringBuilder::resize(unsigned int)
void JSC::JSString::resolveRope(class JSC::ExecState *)
void JSC::Profile::restoreAll(void)
class JSC::JSValue JSC::Interpreter::retrieveCaller(class JSC::ExecState *,class JSC::JSFunction *)
void JSC::Interpreter::retrieveLastCaller(class JSC::ExecState *,int &,int &,class JSC::UString &,class JSC::JSValue &)
struct JSC::ClassInfo const JSC::DateInstance::s_info
struct JSC::ClassInfo const JSC::InternalFunction::s_info
struct JSC::ClassInfo const JSC::JSArray::s_info
struct JSC::ClassInfo const JSC::JSFunction::s_info
struct JSC::ClassInfo const JSC::JSObject::s_info
struct JSC::ClassInfo const JSC::RegExpObject::s_info
struct JSC::ClassInfo const JSC::StringObject::s_info
unsigned int const JSC::JSString::s_maxInternalRopeLength
void JSC::PropertyDescriptor::setAccessorDescriptor(class JSC::JSValue,class JSC::JSValue,unsigned int)
void JSC::PropertyDescriptor::setConfigurable(bool)
void JSC::PropertyDescriptor::setDescriptor(class JSC::JSValue,unsigned int)
void JSC::BytecodeGenerator::setDumpsGeneratedCode(bool)
void JSC::PropertyDescriptor::setEnumerable(bool)
void JSC::PropertyDescriptor::setGetter(class JSC::JSValue)
void JSC::JSArray::setLength(unsigned int)
void JSC::StatementNode::setLoc(int,int)
void WTF::setMainThreadCallbacksPaused(bool)
void WTF::Collator::setOrderLowerFirst(bool)
void JSC::PropertyDescriptor::setSetter(class JSC::JSValue)
void JSC::PropertyDescriptor::setUndefined(void)
void JSC::setUpStaticFunctionSlot(class JSC::ExecState *,class JSC::HashEntry const *,class JSC::JSObject *,class JSC::Identifier const &,class JSC::PropertySlot &)
void JSC::PropertyDescriptor::setWritable(bool)
class JSC::JSValue JSC::PropertyDescriptor::setter(void)
void WTF::StringBuilder::shrinkToFit(void)
void WTF::ThreadCondition::signal(void)
unsigned int JSC::Heap::size(void)
void JSC::MarkedArgumentBuffer::slowAppend(class JSC::JSValue)
class WTF::AtomicString const WTF::starAtom
void JSC::Structure::startIgnoringLeaks(void)
void JSC::Profiler::startProfiling(class JSC::ExecState *,class JSC::UString const &)
void JSC::JSGlobalData::startSampling(void)
class WTF::ThreadSpecific<class WTF::WTFThreadData> * WTF::WTFThreadData::staticData
void JSC::Structure::stopIgnoringLeaks(void)
class WTF::PassRefPtr<class JSC::Profile> JSC::Profiler::stopProfiling(class JSC::ExecState *,class JSC::UString const &)
void JSC::JSGlobalData::stopSampling(void)
class JSC::UString & JSC::JSString::string(void)
double WTF::strtod(char const *,char * *)
class JSC::JSString * JSC::JSString::substringFromRope(class JSC::ExecState *,unsigned int,unsigned int)
class JSC::UString JSC::UString::substringSharingImpl(unsigned int,unsigned int)
bool JSC::JSVariableObject::symbolTableGet(class JSC::Identifier const &,class JSC::PropertyDescriptor &)
class JSC::JSObject * JSC::JSValue::synthesizePrototype(class JSC::ExecState *)
class WTF::AtomicString const WTF::textAtom
class JSC::JSObject * JSC::DebuggerCallFrame::thisObject(void)
class JSC::JSValue JSC::throwError(class JSC::ExecState *,class JSC::JSValue)
class JSC::JSObject * JSC::throwError(class JSC::ExecState *,class JSC::JSObject *)
class JSC::JSObject * JSC::throwSyntaxError(class JSC::ExecState *)
class JSC::JSObject * JSC::throwTypeError(class JSC::ExecState *)
bool WTF::ThreadCondition::timedWait(class WTF::Mutex &,double)
long & WTF::tlsKeyCount(void)
unsigned long * WTF::tlsKeys(void)
bool JSC::JSCell::toBoolean(class JSC::ExecState *)
bool JSC::JSObject::toBoolean(class JSC::ExecState *)
bool JSC::JSString::toBoolean(class JSC::ExecState *)
int JSC::toInt32(double)
double JSC::JSValue::toInteger(class JSC::ExecState *)
double JSC::JSCell::toNumber(class JSC::ExecState *)
double JSC::JSObject::toNumber(class JSC::ExecState *)
double JSC::JSString::toNumber(class JSC::ExecState *)
class JSC::JSObject * JSC::JSCell::toObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSObject::toObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSString::toObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSValue::toObjectSlowCase(class JSC::ExecState *)
class JSC::JSValue JSC::JSCell::toPrimitive(class JSC::ExecState *,enum JSC::PreferredPrimitiveType)
class JSC::JSValue JSC::JSString::toPrimitive(class JSC::ExecState *,enum JSC::PreferredPrimitiveType)
class JSC::JSValue JSC::JSObject::toStrictThisObject(class JSC::ExecState *)
class JSC::UString JSC::JSCell::toString(class JSC::ExecState *)
class JSC::UString JSC::JSObject::toString(class JSC::ExecState *)
class JSC::UString JSC::JSString::toString(class JSC::ExecState *)
unsigned int WTF::DecimalNumber::toStringDecimal(wchar_t *,unsigned int)
class JSC::JSObject * JSC::JSCell::toThisObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSObject::toThisObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSString::toThisObject(class JSC::ExecState *)
class JSC::JSObject * JSC::JSValue::toThisObjectSlowCase(class JSC::ExecState *)
unsigned int JSC::Identifier::toUInt32(class JSC::UString const &,bool &)
struct WTF::TryMallocReturnValue WTF::tryFastCalloc(unsigned int,unsigned int)
struct WTF::TryMallocReturnValue WTF::tryFastMalloc(unsigned int)
struct WTF::TryMallocReturnValue WTF::tryFastRealloc(void *,unsigned int)
class JSC::UString const & JSC::JSString::tryGetValue(void)
bool WTF::Mutex::tryLock(void)
enum JSC::DebuggerCallFrame::Type JSC::DebuggerCallFrame::type(void)
void JSC::JSLock::unlock(enum JSC::JSLockBehavior)
void WTF::Mutex::unlock(void)
void WTF::unlockAtomicallyInitializedStaticMutex(void)
bool JSC::Heap::unprotect(class JSC::JSValue)
class JSC::JSObject * JSC::JSObject::unwrappedObject(void)
class WTF::CString JSC::UString::utf8(bool)
class JSC::UString const & JSC::JSString::value(class JSC::ExecState *)
void JSC::InternalFunction::vtableAnchor(void)
void WTF::ThreadCondition::wait(class WTF::Mutex &)
int WTF::waitForThreadCompletion(unsigned int,void * *)
bool JSC::PropertyDescriptor::writable(void)
void JSC::HandleHeap::writeBarrier(class JSC::JSValue *,class JSC::JSValue const &)
class WTF::AtomicString const WTF::xmlAtom
class WTF::AtomicString const WTF::xmlnsAtom
void WTF::yield(void)
JSCheckScriptSyntax
JSClassCreate
JSClassRelease
JSClassRetain
JSContextGetGlobalContext
JSContextGetGlobalObject
JSContextGetGroup
JSContextGroupCreate
JSContextGroupRelease
JSContextGroupRetain
JSEvaluateScript
JSGarbageCollect
JSGlobalContextCreate
JSGlobalContextCreateInGroup
JSGlobalContextRelease
JSGlobalContextRetain
JSObjectCallAsConstructor
JSObjectCallAsFunction
JSObjectCopyPropertyNames
JSObjectDeletePrivateProperty
JSObjectDeleteProperty
JSObjectGetPrivate
JSObjectGetPrivateProperty
JSObjectGetProperty
JSObjectGetPropertyAtIndex
JSObjectGetPrototype
JSObjectHasProperty
JSObjectIsConstructor
JSObjectIsFunction
JSObjectMake
JSObjectMakeArray
JSObjectMakeConstructor
JSObjectMakeDate
JSObjectMakeError
JSObjectMakeFunction
JSObjectMakeFunctionWithCallback
JSObjectMakeRegExp
JSObjectSetPrivate
JSObjectSetPrivateProperty
JSObjectSetProperty
JSObjectSetPropertyAtIndex
JSObjectSetPrototype
JSPropertyNameAccumulatorAddName
JSPropertyNameArrayGetCount
JSPropertyNameArrayGetNameAtIndex
JSPropertyNameArrayRelease
JSPropertyNameArrayRetain
JSReportExtraMemoryCost
JSStringCopyBSTR
JSStringCopyCFString
JSStringCreateWithBSTR
JSStringCreateWithCFString
JSStringCreateWithCharacters
JSStringCreateWithUTF8CString
JSStringGetCharactersPtr
JSStringGetLength
JSStringGetMaximumUTF8CStringSize
JSStringGetUTF8CString
JSStringIsEqual
JSStringIsEqualToUTF8CString
JSStringRelease
JSStringRetain
JSValueCreateJSONString
JSValueGetType
JSValueIsBoolean
JSValueIsEqual
JSValueIsInstanceOfConstructor
JSValueIsNull
JSValueIsNumber
JSValueIsObject
JSValueIsObjectOfClass
JSValueIsStrictEqual
JSValueIsString
JSValueIsUndefined
JSValueMakeBoolean
JSValueMakeFromJSONString
JSValueMakeNull
JSValueMakeNumber
JSValueMakeString
JSValueMakeUndefined
JSValueProtect
JSValueToBoolean
JSValueToNumber
JSValueToObject
JSValueToStringCopy
JSValueUnprotect
JSWeakObjectMapClear
JSWeakObjectMapCreate
JSWeakObjectMapGet
JSWeakObjectMapSet
WTFLog
WTFLogVerbose
WTFReportArgumentAssertionFailure
WTFReportAssertionFailure
WTFReportAssertionFailureWithMessage
WTFReportBacktrace
WTFReportError
kJSClassDefinitionEmpty
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章