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

你可能感兴趣的:(webkit在win32下的编译规则(四))