[JSC] Use internal object field mechanism to implement JSStringIterator
Created attachment 387466 [details] Patch
Created attachment 387467 [details] Patch
Seems like there's some weird test failures. It's not obvious to me why your patch would break those tests. Maybe, you just incidentally surfaced the issue?
(In reply to Keith Miller from comment #3) > Seems like there's some weird test failures. It's not obvious to me why your > patch would break those tests. Maybe, you just incidentally surfaced the > issue? Found that some array-iterator related symbols are used for a private variable name. Fixed the test.
Created attachment 387491 [details] Patch
Comment on attachment 387491 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=387491&action=review r=me, looks straightforward. > Source/JavaScriptCore/builtins/BuiltinNames.h:-53 > - macro(arrayIteratorNextIndex) \ > - macro(arrayIterationKind) \ > - macro(arrayIteratorNext) \ > - macro(arrayIteratorIsDone) \ > - macro(arrayIteratorKind) \ These are leftover from r254252, I take it? > JSTests/stress/tailCallForwardArguments.js:6 > -var putFuncToPrivateName = createBuiltin(`(function (func) { @arrayIteratorIsDone = func })`) > +var putFuncToPrivateName = createBuiltin(`(function (func) { @generatorThis = func })`) Ahh, so this test had just arbitrarily chosen to write to a private name you're removing?
Comment on attachment 387491 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=387491&action=review >> Source/JavaScriptCore/builtins/BuiltinNames.h:-53 >> - macro(arrayIteratorKind) \ > > These are leftover from r254252, I take it? Right. >> JSTests/stress/tailCallForwardArguments.js:6 >> +var putFuncToPrivateName = createBuiltin(`(function (func) { @generatorThis = func })`) > > Ahh, so this test had just arbitrarily chosen to write to a private name you're removing? Right.
Committed r254420: <https://trac.webkit.org/changeset/254420>
<rdar://problem/58517715>