This isn't a huge deal but we should fix it. Patch forthcoming.
Created attachment 209010 [details] the patch
Comment on attachment 209010 [details] the patch r=me
Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next.
(In reply to comment #3) > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. Calling number prototype methods perhaps?
(In reply to comment #3) > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. Yup, that was a speed-up, and I missed it. OK, so we have some nastiness in our profiling, apparently. It shouldn't be expensive to use more speculation if we have logic to use *less* speculation instead.
(In reply to comment #4) > (In reply to comment #3) > > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. > > Calling number prototype methods perhaps? That would only explain it if we didn't also have the feature to disable cell speculation if profiling said that the input might not be a cell.
(In reply to comment #6) > (In reply to comment #4) > > (In reply to comment #3) > > > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. > > > > Calling number prototype methods perhaps? > > That would only explain it if we didn't also have the feature to disable cell speculation if profiling said that the input might not be a cell. OK, so this was the mother of all wild goose chases. It was literally the case that on the computer I was using, you got a 3% overall speed-up on DSP if you were built in a directory called "/Volumes/Data/pizlo/OpenSource". Lol.
(In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #4) > > > (In reply to comment #3) > > > > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. > > > > > > Calling number prototype methods perhaps? > > > > That would only explain it if we didn't also have the feature to disable cell speculation if profiling said that the input might not be a cell. > > OK, so this was the mother of all wild goose chases. > > It was literally the case that on the computer I was using, you got a 3% overall speed-up on DSP if you were built in a directory called "/Volumes/Data/pizlo/OpenSource". > > Lol. I'm still retesting this ... sadly it'll take a bit of time since I have to build all of WebKit to run those benchmarks.
(In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > (In reply to comment #4) > > > > (In reply to comment #3) > > > > > Strangely enough, this leads to a slow-down on DSP tests. That implies that (1) those tests are heavy users of GetById and (2) they want to be able to do GetById on things that aren't cells. Weird. I'm investigating more. I don't remember seeing a progression on those tests in http://trac.webkit.org/changeset/154218; I'll test that next. > > > > > > > > Calling number prototype methods perhaps? > > > > > > That would only explain it if we didn't also have the feature to disable cell speculation if profiling said that the input might not be a cell. > > > > OK, so this was the mother of all wild goose chases. > > > > It was literally the case that on the computer I was using, you got a 3% overall speed-up on DSP if you were built in a directory called "/Volumes/Data/pizlo/OpenSource". > > > > Lol. > > I'm still retesting this ... sadly it'll take a bit of time since I have to build all of WebKit to run those benchmarks. Yeah. Total fluke.
Landed in http://trac.webkit.org/changeset/154261