|
Lines 31-36
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec1
|
| 31 |
#include "JSSegmentedVariableObject.h" |
31 |
#include "JSSegmentedVariableObject.h" |
| 32 |
#include "JSWeakObjectMapRefInternal.h" |
32 |
#include "JSWeakObjectMapRefInternal.h" |
| 33 |
#include "NumberPrototype.h" |
33 |
#include "NumberPrototype.h" |
|
|
34 |
#include "RuntimeFlags.h" |
| 34 |
#include "SpecialPointer.h" |
35 |
#include "SpecialPointer.h" |
| 35 |
#include "StringPrototype.h" |
36 |
#include "StringPrototype.h" |
| 36 |
#include "StructureChain.h" |
37 |
#include "StructureChain.h" |
|
Lines 86-98
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec2
|
| 86 |
struct HashTable; |
87 |
struct HashTable; |
| 87 |
|
88 |
|
| 88 |
#define DEFINE_STANDARD_BUILTIN(macro, upperName, lowerName) macro(upperName, lowerName, lowerName, JS ## upperName, upperName) |
89 |
#define DEFINE_STANDARD_BUILTIN(macro, upperName, lowerName) macro(upperName, lowerName, lowerName, JS ## upperName, upperName) |
| 89 |
|
90 |
|
|
|
91 |
#define FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
| 92 |
macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \ |
| 93 |
|
| 90 |
#define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
94 |
#define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
| 91 |
macro(Set, set, set, JSSet, Set) \ |
95 |
macro(Set, set, set, JSSet, Set) \ |
| 92 |
macro(Map, map, map, JSMap, Map) \ |
96 |
macro(Map, map, map, JSMap, Map) \ |
| 93 |
macro(Date, date, date, DateInstance, Date) \ |
97 |
macro(Date, date, date, DateInstance, Date) \ |
| 94 |
macro(String, string, stringObject, StringObject, String) \ |
98 |
macro(String, string, stringObject, StringObject, String) \ |
| 95 |
macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \ |
|
|
| 96 |
macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \ |
99 |
macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \ |
| 97 |
macro(Number, number, numberObject, NumberObject, Number) \ |
100 |
macro(Number, number, numberObject, NumberObject, Number) \ |
| 98 |
macro(Error, error, error, ErrorInstance, Error) \ |
101 |
macro(Error, error, error, ErrorInstance, Error) \ |
|
Lines 101-106
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec3
|
| 101 |
|
104 |
|
| 102 |
#define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \ |
105 |
#define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \ |
| 103 |
FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
106 |
FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
|
|
107 |
FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \ |
| 104 |
DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \ |
108 |
DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \ |
| 105 |
DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \ |
109 |
DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \ |
| 106 |
DEFINE_STANDARD_BUILTIN(macro, MapIterator, mapIterator) \ |
110 |
DEFINE_STANDARD_BUILTIN(macro, MapIterator, mapIterator) \ |
|
Lines 131-138
struct GlobalObjectMethodTable {
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec4
|
| 131 |
typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*); |
135 |
typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*); |
| 132 |
ShouldInterruptScriptFunctionPtr shouldInterruptScript; |
136 |
ShouldInterruptScriptFunctionPtr shouldInterruptScript; |
| 133 |
|
137 |
|
| 134 |
typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*); |
138 |
typedef RuntimeFlags (*JavaScriptRuntimeFlagsFunctionPtr)(const JSGlobalObject*); |
| 135 |
JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled; |
139 |
JavaScriptRuntimeFlagsFunctionPtr javaScriptRuntimeFlags; |
| 136 |
|
140 |
|
| 137 |
typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>); |
141 |
typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr<Microtask>); |
| 138 |
QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop; |
142 |
QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop; |
|
Lines 273-279
class JSGlobalObject : public JSSegmentedVariableObject {
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec5
|
| 273 |
|
277 |
|
| 274 |
bool m_evalEnabled; |
278 |
bool m_evalEnabled; |
| 275 |
String m_evalDisabledErrorMessage; |
279 |
String m_evalDisabledErrorMessage; |
| 276 |
bool m_experimentsEnabled; |
280 |
RuntimeFlags m_runtimeFlags; |
| 277 |
ConsoleClient* m_consoleClient; |
281 |
ConsoleClient* m_consoleClient; |
| 278 |
|
282 |
|
| 279 |
static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable; |
283 |
static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable; |
|
Lines 309-315
class JSGlobalObject : public JSSegmentedVariableObject {
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec6
|
| 309 |
{ |
313 |
{ |
| 310 |
Base::finishCreation(vm); |
314 |
Base::finishCreation(vm); |
| 311 |
structure()->setGlobalObject(vm, this); |
315 |
structure()->setGlobalObject(vm, this); |
| 312 |
m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this); |
316 |
m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this); |
| 313 |
init(vm); |
317 |
init(vm); |
| 314 |
setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this)); |
318 |
setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this)); |
| 315 |
} |
319 |
} |
|
Lines 318-324
class JSGlobalObject : public JSSegmentedVariableObject {
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec7
|
| 318 |
{ |
322 |
{ |
| 319 |
Base::finishCreation(vm); |
323 |
Base::finishCreation(vm); |
| 320 |
structure()->setGlobalObject(vm, this); |
324 |
structure()->setGlobalObject(vm, this); |
| 321 |
m_experimentsEnabled = m_globalObjectMethodTable->javaScriptExperimentsEnabled(this); |
325 |
m_runtimeFlags = m_globalObjectMethodTable->javaScriptRuntimeFlags(this); |
| 322 |
init(vm); |
326 |
init(vm); |
| 323 |
setGlobalThis(vm, thisValue); |
327 |
setGlobalThis(vm, thisValue); |
| 324 |
} |
328 |
} |
|
Lines 546-552
class JSGlobalObject : public JSSegmentedVariableObject {
a/Source/JavaScriptCore/runtime/JSGlobalObject.h_sec8
|
| 546 |
|
550 |
|
| 547 |
static bool shouldInterruptScript(const JSGlobalObject*) { return true; } |
551 |
static bool shouldInterruptScript(const JSGlobalObject*) { return true; } |
| 548 |
static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; } |
552 |
static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; } |
| 549 |
static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; } |
553 |
static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); } |
| 550 |
|
554 |
|
| 551 |
void queueMicrotask(PassRefPtr<Microtask>); |
555 |
void queueMicrotask(PassRefPtr<Microtask>); |
| 552 |
|
556 |
|