Changeset 155177 in webkit for trunk/Source/JavaScriptCore/runtime
- Timestamp:
- Sep 5, 2013, 10:50:33 PM (12 years ago)
- Location:
- trunk/Source/JavaScriptCore/runtime
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSArrayBufferConstructor.cpp
r154127 r155177 54 54 } 55 55 56 JSArrayBufferConstructor* JSArrayBufferConstructor::create( 57 JSGlobalObject* globalObject, Structure* structure, JSArrayBufferPrototype* prototype) 56 JSArrayBufferConstructor* JSArrayBufferConstructor::create(CallFrame* callFrame, JSGlobalObject* globalObject, Structure* structure, JSArrayBufferPrototype* prototype) 58 57 { 59 VM& vm = globalObject->vm();58 VM& vm = callFrame->vm(); 60 59 JSArrayBufferConstructor* result = 61 60 new (NotNull, allocateCell<JSArrayBufferConstructor>(vm.heap)) -
trunk/Source/JavaScriptCore/runtime/JSArrayBufferConstructor.h
r154127 r155177 42 42 43 43 public: 44 static JSArrayBufferConstructor* create( JSGlobalObject*, Structure*, JSArrayBufferPrototype*);44 static JSArrayBufferConstructor* create(CallFrame*, JSGlobalObject*, Structure*, JSArrayBufferPrototype*); 45 45 46 46 DECLARE_INFO; -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
r154916 r155177 242 242 m_functionPrototype->structure()->setPrototypeWithoutTransition(exec->vm(), m_objectPrototype.get()); 243 243 244 m_arrayBufferPrototype.set(exec->vm(), this, JSArrayBufferPrototype::create(exec, this, JSArrayBufferPrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));245 244 m_typedArrays[toIndex(TypeInt8)].prototype.set(exec->vm(), this, JSInt8ArrayPrototype::create(exec, this, JSInt8ArrayPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); 246 245 m_typedArrays[toIndex(TypeInt16)].prototype.set(exec->vm(), this, JSInt16ArrayPrototype::create(exec, this, JSInt16ArrayPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); … … 254 253 m_typedArrays[toIndex(TypeDataView)].prototype.set(exec->vm(), this, JSDataViewPrototype::create(exec->vm(), JSDataViewPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); 255 254 256 m_arrayBufferStructure.set(exec->vm(), this, JSArrayBuffer::createStructure(exec->vm(), this, m_arrayBufferPrototype.get()));257 255 m_typedArrays[toIndex(TypeInt8)].structure.set(exec->vm(), this, JSInt8Array::createStructure(exec->vm(), this, m_typedArrays[toIndex(TypeInt8)].prototype.get())); 258 256 m_typedArrays[toIndex(TypeInt16)].structure.set(exec->vm(), this, JSInt16Array::createStructure(exec->vm(), this, m_typedArrays[toIndex(TypeInt16)].prototype.get())); … … 295 293 m_regExpMatchesArrayStructure.set(exec->vm(), this, RegExpMatchesArray::createStructure(exec->vm(), this, m_arrayPrototype.get())); 296 294 297 m_stringPrototype.set(exec->vm(), this, StringPrototype::create(exec, this, StringPrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));298 m_stringObjectStructure.set(exec->vm(), this, StringObject::createStructure(exec->vm(), this, m_stringPrototype.get()));299 300 m_booleanPrototype.set(exec->vm(), this, BooleanPrototype::create(exec, this, BooleanPrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));301 m_booleanObjectStructure.set(exec->vm(), this, BooleanObject::createStructure(exec->vm(), this, m_booleanPrototype.get()));302 303 m_numberPrototype.set(exec->vm(), this, NumberPrototype::create(exec, this, NumberPrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));304 m_numberObjectStructure.set(exec->vm(), this, NumberObject::createStructure(exec->vm(), this, m_numberPrototype.get()));305 306 m_datePrototype.set(exec->vm(), this, DatePrototype::create(exec, this, DatePrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));307 m_dateStructure.set(exec->vm(), this, DateInstance::createStructure(exec->vm(), this, m_datePrototype.get()));308 309 295 RegExp* emptyRegex = RegExp::create(exec->vm(), "", NoFlags); 310 296 311 297 m_regExpPrototype.set(exec->vm(), this, RegExpPrototype::create(exec, this, RegExpPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()), emptyRegex)); 312 298 m_regExpStructure.set(exec->vm(), this, RegExpObject::createStructure(exec->vm(), this, m_regExpPrototype.get())); 313 314 m_errorPrototype.set(exec->vm(), this, ErrorPrototype::create(exec, this, ErrorPrototype::createStructure(exec->vm(), this, m_objectPrototype.get())));315 m_errorStructure.set(exec->vm(), this, ErrorInstance::createStructure(exec->vm(), this, m_errorPrototype.get()));316 299 317 300 #if ENABLE(PROMISES) … … 327 310 328 311 m_mapDataStructure.set(exec->vm(), this, MapData::createStructure(exec->vm(), this, jsNull())); 329 m_mapPrototype.set(exec->vm(), this, MapPrototype::create(exec, this, MapPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); 330 m_mapStructure.set(exec->vm(), this, JSMap::createStructure(exec->vm(), this, m_mapPrototype.get())); 331 332 m_setPrototype.set(exec->vm(), this, SetPrototype::create(exec, this, SetPrototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); 333 m_setStructure.set(exec->vm(), this, JSSet::createStructure(exec->vm(), this, m_setPrototype.get())); 312 313 #define CREATE_PROTOTYPE_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 314 m_ ## lowerName ## Prototype.set(exec->vm(), this, capitalName##Prototype::create(exec, this, capitalName##Prototype::createStructure(exec->vm(), this, m_objectPrototype.get()))); \ 315 m_ ## properName ## Structure.set(exec->vm(), this, instanceType::createStructure(exec->vm(), this, m_ ## lowerName ## Prototype.get())); 316 317 FOR_EACH_SIMPLE_BUILTIN_TYPE(CREATE_PROTOTYPE_FOR_SIMPLE_TYPE) 318 319 #undef CREATE_PROTOTYPE_FOR_SIMPLE_TYPE 334 320 335 321 // Constructors … … 338 324 JSCell* functionConstructor = FunctionConstructor::create(exec, this, FunctionConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_functionPrototype.get()); 339 325 JSCell* arrayConstructor = ArrayConstructor::create(exec, this, ArrayConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_arrayPrototype.get()); 340 JSCell* stringConstructor = StringConstructor::create(exec, this, StringConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_stringPrototype.get());341 JSCell* booleanConstructor = BooleanConstructor::create(exec, this, BooleanConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_booleanPrototype.get());342 JSCell* numberConstructor = NumberConstructor::create(exec, this, NumberConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_numberPrototype.get());343 JSCell* dateConstructor = DateConstructor::create(exec, this, DateConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_datePrototype.get());344 326 345 327 #if ENABLE(PROMISES) … … 347 329 JSCell* promiseResolverConstructor = JSPromiseResolverConstructor::create(exec, this, JSPromiseResolverConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_promiseResolverPrototype.get()); 348 330 #endif // ENABLE(PROMISES) 349 JSCell* mapConstructor = MapConstructor::create(exec, this, MapConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_mapPrototype.get());350 JSCell* setConstructor = SetConstructor::create(exec, this, SetConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_setPrototype.get());351 331 352 332 m_regExpConstructor.set(exec->vm(), this, RegExpConstructor::create(exec, this, RegExpConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_regExpPrototype.get())); 353 333 354 m_errorConstructor.set(exec->vm(), this, ErrorConstructor::create(exec, this, ErrorConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_errorPrototype.get())); 334 #define CREATE_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 335 capitalName ## Constructor* lowerName ## Constructor = capitalName ## Constructor::create(exec, this, capitalName ## Constructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_ ## lowerName ## Prototype.get()); \ 336 m_ ## lowerName ## Prototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, lowerName ## Constructor, DontEnum); \ 337 338 FOR_EACH_SIMPLE_BUILTIN_TYPE(CREATE_CONSTRUCTOR_FOR_SIMPLE_TYPE) 339 340 #undef CREATE_CONSTRUCTOR_FOR_SIMPLE_TYPE 341 342 m_errorConstructor.set(exec->vm(), this, errorConstructor); 355 343 356 344 Structure* nativeErrorPrototypeStructure = NativeErrorPrototype::createStructure(exec->vm(), this, m_errorPrototype.get()); … … 366 354 m_functionPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, functionConstructor, DontEnum); 367 355 m_arrayPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, arrayConstructor, DontEnum); 368 m_booleanPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, booleanConstructor, DontEnum);369 m_stringPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, stringConstructor, DontEnum);370 m_numberPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, numberConstructor, DontEnum);371 m_datePrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, dateConstructor, DontEnum);372 356 m_regExpPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, m_regExpConstructor.get(), DontEnum); 373 m_errorPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, m_errorConstructor.get(), DontEnum);374 357 #if ENABLE(PROMISES) 375 358 m_promisePrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, promiseConstructor, DontEnum); 376 359 m_promiseResolverPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, promiseResolverConstructor, DontEnum); 377 360 #endif 378 m_mapPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, mapConstructor, DontEnum);379 m_setPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, setConstructor, DontEnum);380 361 381 362 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Object, objectConstructor, DontEnum); 382 363 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Function, functionConstructor, DontEnum); 383 364 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Array, arrayConstructor, DontEnum); 384 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Boolean, booleanConstructor, DontEnum);385 putDirectWithoutTransition(exec->vm(), exec->propertyNames().String, stringConstructor, DontEnum);386 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Number, numberConstructor, DontEnum);387 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Date, dateConstructor, DontEnum);388 365 putDirectWithoutTransition(exec->vm(), exec->propertyNames().RegExp, m_regExpConstructor.get(), DontEnum); 389 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Error, m_errorConstructor.get(), DontEnum);390 366 putDirectWithoutTransition(exec->vm(), exec->propertyNames().EvalError, m_evalErrorConstructor.get(), DontEnum); 391 367 putDirectWithoutTransition(exec->vm(), exec->propertyNames().RangeError, m_rangeErrorConstructor.get(), DontEnum); … … 398 374 putDirectWithoutTransition(exec->vm(), exec->propertyNames().PromiseResolver, promiseResolverConstructor, DontEnum); 399 375 #endif 400 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Map, mapConstructor, DontEnum); 401 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Set, setConstructor, DontEnum); 376 377 378 #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 379 putDirectWithoutTransition(exec->vm(), exec->propertyNames(). jsName, lowerName ## Constructor, DontEnum); \ 380 381 FOR_EACH_SIMPLE_BUILTIN_TYPE(PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE) 382 383 #undef PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE 384 402 385 403 386 m_evalFunction.set(exec->vm(), this, JSFunction::create(exec, this, 1, exec->propertyNames().eval.string(), globalFuncEval)); … … 407 390 putDirectWithoutTransition(exec->vm(), exec->propertyNames().Math, MathObject::create(exec, this, MathObject::createStructure(exec->vm(), this, m_objectPrototype.get())), DontEnum); 408 391 409 JSArrayBufferConstructor* arrayBufferConstructor = JSArrayBufferConstructor::create(this, JSArrayBufferConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_arrayBufferPrototype.get());410 392 FixedArray<InternalFunction*, NUMBER_OF_TYPED_ARRAY_TYPES> typedArrayConstructors; 411 393 typedArrayConstructors[toIndex(TypeInt8)] = JSInt8ArrayConstructor::create(this, JSInt8ArrayConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_typedArrays[toIndex(TypeInt8)].prototype.get(), "Int8Array"); … … 419 401 typedArrayConstructors[toIndex(TypeFloat64)] = JSFloat64ArrayConstructor::create(this, JSFloat64ArrayConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_typedArrays[toIndex(TypeFloat64)].prototype.get(), "Float64Array"); 420 402 typedArrayConstructors[toIndex(TypeDataView)] = JSDataViewConstructor::create(this, JSDataViewConstructor::createStructure(exec->vm(), this, m_functionPrototype.get()), m_typedArrays[toIndex(TypeDataView)].prototype.get(), "DataView"); 421 422 m_arrayBufferPrototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, arrayBufferConstructor, DontEnum); 423 putDirectWithoutTransition(exec->vm(), exec->propertyNames().ArrayBuffer, arrayBufferConstructor, DontEnum); 424 403 425 404 for (unsigned typedArrayIndex = NUMBER_OF_TYPED_ARRAY_TYPES; typedArrayIndex--;) { 426 405 m_typedArrays[typedArrayIndex].prototype->putDirectWithoutTransition(exec->vm(), exec->propertyNames().constructor, typedArrayConstructors[typedArrayIndex], DontEnum); … … 613 592 visitor.append(&thisObject->m_functionPrototype); 614 593 visitor.append(&thisObject->m_arrayPrototype); 615 visitor.append(&thisObject->m_booleanPrototype);616 visitor.append(&thisObject->m_stringPrototype);617 visitor.append(&thisObject->m_numberPrototype);618 visitor.append(&thisObject->m_datePrototype);619 visitor.append(&thisObject->m_regExpPrototype);620 594 visitor.append(&thisObject->m_errorPrototype); 621 595 #if ENABLE(PROMISES) … … 641 615 visitor.append(&thisObject->m_objcWrapperObjectStructure); 642 616 #endif 643 visitor.append(&thisObject->m_dateStructure);644 617 visitor.append(&thisObject->m_nullPrototypeObjectStructure); 645 618 visitor.append(&thisObject->m_errorStructure); … … 647 620 visitor.append(&thisObject->m_boundFunctionStructure); 648 621 visitor.append(&thisObject->m_namedFunctionStructure); 649 visitor.append(&thisObject->m_numberObjectStructure);650 622 visitor.append(&thisObject->m_privateNameStructure); 651 623 visitor.append(&thisObject->m_regExpMatchesArrayStructure); 652 624 visitor.append(&thisObject->m_regExpStructure); 653 visitor.append(&thisObject->m_stringObjectStructure);654 625 visitor.append(&thisObject->m_internalFunctionStructure); 655 626 … … 660 631 visitor.append(&thisObject->m_promiseWrapperCallbackStructure); 661 632 #endif // ENABLE(PROMISES) 662 visitor.append(&thisObject->m_mapPrototype); 633 634 #define VISIT_SIMPLE_TYPE(CapitalName, lowerName, properName, instanceType, jsName) \ 635 visitor.append(&thisObject->m_ ## lowerName ## Prototype); \ 636 visitor.append(&thisObject->m_ ## properName ## Structure); \ 637 638 FOR_EACH_SIMPLE_BUILTIN_TYPE(VISIT_SIMPLE_TYPE) 639 640 #undef VISIT_SIMPLE_TYPE 641 663 642 visitor.append(&thisObject->m_mapDataStructure); 664 visitor.append(&thisObject->m_mapStructure); 665 visitor.append(&thisObject->m_setPrototype); 666 visitor.append(&thisObject->m_setStructure); 667 668 visitor.append(&thisObject->m_arrayBufferPrototype); 669 visitor.append(&thisObject->m_arrayBufferStructure); 670 643 671 644 for (unsigned i = NUMBER_OF_TYPED_ARRAY_TYPES; i--;) { 672 645 visitor.append(&thisObject->m_typedArrays[i].prototype); -
trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h
r154916 r155177 49 49 class ArrayPrototype; 50 50 class BooleanPrototype; 51 class DatePrototype;52 51 class Debugger; 53 52 class ErrorConstructor; … … 64 63 class JSStack; 65 64 class LLIntOffsetsExtractor; 66 class MapPrototype;67 65 class NativeErrorConstructor; 68 66 class ProgramCodeBlock; … … 70 68 class RegExpConstructor; 71 69 class RegExpPrototype; 72 class SetPrototype;73 70 class SourceCode; 74 71 struct ActivationStackNode; 75 72 struct HashTable; 73 74 #define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \ 75 macro(Set, set, set, JSSet, Set) \ 76 macro(Map, map, map, JSMap, Map) \ 77 macro(Date, date, date, DateInstance, Date) \ 78 macro(String, string, stringObject, StringObject, String) \ 79 macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \ 80 macro(Number, number, numberObject, NumberObject, Number) \ 81 macro(Error, error, error, ErrorInstance, Error) \ 82 macro(JSArrayBuffer, arrayBuffer, arrayBuffer, JSArrayBuffer, ArrayBuffer) \ 83 84 #define DECLARE_SIMPLE_BUILTIN_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 85 class JS ## capitalName; \ 86 class capitalName ## Prototype; \ 87 class capitalName ## Constructor; 88 89 FOR_EACH_SIMPLE_BUILTIN_TYPE(DECLARE_SIMPLE_BUILTIN_TYPE) 90 91 #undef DECLARE_SIMPLE_BUILTIN_TYPE 76 92 77 93 typedef Vector<ExecState*, 16> ExecStateStack; … … 145 161 WriteBarrier<FunctionPrototype> m_functionPrototype; 146 162 WriteBarrier<ArrayPrototype> m_arrayPrototype; 147 WriteBarrier<BooleanPrototype> m_booleanPrototype;148 WriteBarrier<StringPrototype> m_stringPrototype;149 WriteBarrier<NumberPrototype> m_numberPrototype;150 WriteBarrier<DatePrototype> m_datePrototype;151 163 WriteBarrier<RegExpPrototype> m_regExpPrototype; 152 WriteBarrier<ErrorPrototype> m_errorPrototype;153 164 WriteBarrier<JSPromisePrototype> m_promisePrototype; 154 165 WriteBarrier<JSPromiseResolverPrototype> m_promiseResolverPrototype; 155 WriteBarrier<MapPrototype> m_mapPrototype;156 WriteBarrier<SetPrototype> m_setPrototype;157 166 158 167 WriteBarrier<Structure> m_withScopeStructure; … … 166 175 // Lists the structures we should use during allocation for these particular indexing shapes. 167 176 WriteBarrier<Structure> m_arrayStructureForIndexingShapeDuringAllocation[NumberOfIndexingShapes]; 168 169 WriteBarrier<Structure> m_booleanObjectStructure; 177 170 178 WriteBarrier<Structure> m_callbackConstructorStructure; 171 179 WriteBarrier<Structure> m_callbackFunctionStructure; … … 175 183 WriteBarrier<Structure> m_objcWrapperObjectStructure; 176 184 #endif 177 WriteBarrier<Structure> m_dateStructure;178 185 WriteBarrier<Structure> m_nullPrototypeObjectStructure; 179 WriteBarrier<Structure> m_errorStructure;180 186 WriteBarrier<Structure> m_functionStructure; 181 187 WriteBarrier<Structure> m_boundFunctionStructure; 182 188 WriteBarrier<Structure> m_namedFunctionStructure; 183 189 PropertyOffset m_functionNameOffset; 184 WriteBarrier<Structure> m_numberObjectStructure;185 190 WriteBarrier<Structure> m_privateNameStructure; 186 191 WriteBarrier<Structure> m_regExpMatchesArrayStructure; 187 192 WriteBarrier<Structure> m_regExpStructure; 188 WriteBarrier<Structure> m_stringObjectStructure;189 193 WriteBarrier<Structure> m_internalFunctionStructure; 190 194 … … 197 201 198 202 WriteBarrier<Structure> m_mapDataStructure; 199 WriteBarrier<Structure> m_mapStructure; 200 WriteBarrier<Structure> m_setStructure; 201 202 WriteBarrier<JSArrayBufferPrototype> m_arrayBufferPrototype; 203 WriteBarrier<Structure> m_arrayBufferStructure; 204 203 204 #define DEFINE_STORAGE_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 205 WriteBarrier<capitalName ## Prototype> m_ ## lowerName ## Prototype; \ 206 WriteBarrier<Structure> m_ ## properName ## Structure; 207 208 FOR_EACH_SIMPLE_BUILTIN_TYPE(DEFINE_STORAGE_FOR_SIMPLE_TYPE) 209 210 #undef DEFINE_STORAGE_FOR_SIMPLE_TYPE 211 205 212 struct TypedArrayData { 206 213 WriteBarrier<JSObject> prototype; … … 405 412 406 413 JSArrayBufferPrototype* arrayBufferPrototype() const { return m_arrayBufferPrototype.get(); } 407 Structure* arrayBufferStructure() const { return m_arrayBufferStructure.get(); } 408 414 415 #define DEFINE_ACCESSORS_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \ 416 Structure* properName ## Structure() { return m_ ## properName ## Structure.get(); } 417 418 FOR_EACH_SIMPLE_BUILTIN_TYPE(DEFINE_ACCESSORS_FOR_SIMPLE_TYPE) 419 420 #undef DEFINE_ACCESSORS_FOR_SIMPLE_TYPE 421 409 422 Structure* typedArrayStructure(TypedArrayType type) const 410 423 {
Note:
See TracChangeset
for help on using the changeset viewer.