[Webkit-unassigned] [Bug 119117] Fix the wrong refining ArrayMode
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jul 25 22:29:14 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=119117
--- Comment #9 from Youngho Yoo <youngho33.yoo at lge.com> 2013-07-25 22:29:02 PST ---
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #5)
> > > (From update of attachment 207500 [details] [details] [details])
> > > Yeah, this makes no sense whatsoever. The base is the array. Your fix makes it so that every array access becomes a generic access (i.e. function call). It defeats the whole purpose of having an optimizing compiler.
> >
> > But.. there is already if (!isInt32Speculation(index)), so if any index is not int32, it becomes a generic access, I think it is wrong.
> Why is that wrong? The purpose of GetByVal optimizations is just to handle the case where the index is predicted to be an int32.
Yes, you are right. I appreciate your quick and correct reply, I will see this problem more in detail.
And here is the information, in translate.google.com :
some refine func arguments is this : SpeculatedType base = "<Int32>", index = "<String>", value = ""(SpecNone, because it called by case GetByVal: in DFGFixupPhase.cpp)
(I use static const char* speculationToAbbreviatedString(SpeculatedType prediction) func in SpeculatedType.cpp)
they return ArrayMode(Array::Generic);
funcc SpeculativeJIT::compile(Node* node) in "dfg/DFGSpeculativeJIT32_64.cpp" in case of GetByVal:
because of upper thing, it switched Array::Generic:, and call operationGetByValCell, but crash in here.
> > I hope that I have misunderstood about that. But I am curious abot that. Plz teach me.
> >
> > And there is another review requests on https://bugs.webkit.org/show_bug.cgi?id=117281, Does anyone can review that? Thanks.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list