-
oliver@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=122575 Reviewed by Mark Hahnenberg. Source/JavaScriptCore: Add an assembly thunk for ArrayIterator.@@next so that we can avoid marshalling costs when iterating arrays. * jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::SpecializedThunkJIT): (JSC::SpecializedThunkJIT::loadSpecificClassArgument): * jit/ThunkGenerators.cpp: (JSC::arrayIteratorNextThunkGenerator): * jit/ThunkGenerators.h: * runtime/ArrayIteratorPrototype.cpp: (JSC::ArrayIteratorPrototype::finishCreation): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: (JSC::JSArrayIterator::offsetOfIterationKind): (JSC::JSArrayIterator::offsetOfIteratedObject): (JSC::JSArrayIterator::offsetOfNextIndex): * runtime/JSCJSValue.h: (JSC::JSValue::offsetOfPayload): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::iteratorResultStructureOffset): * runtime/VM.cpp: (JSC::thunkGeneratorForIntrinsic): LayoutTests: Add a few new tests to make sure the new asm thunk correctly handles non-arrays. * js/array-iterators-expected.txt: * js/script-tests/array-iterators.js: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
585c400c