...
Created attachment 366140 [details] WIP
I broke out 22 subtests in JS2 that are affected by this optimization. If I run those 22 tests on their own on iOS, it appears to be a 1-2% progression.
Created attachment 366145 [details] WIP
Created attachment 366199 [details] patch
Comment on attachment 366199 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366199&action=review > PerformanceTests/JetStream2/cli.js:46 > +//testList = ["typescript", "tagcloud-SP", "stanford-crypto-sha256", "stanford-crypto-pbkdf2", "stanford-crypto-aes", "raytrace", "pdfjs", "navier-stokes", "n-body-SP", "ML", "mandreel", "gbemu", "gaussian-blur", "float-mm.c", "crypto-aes-SP", "cdjs", "Box2D", "Basic", "base64-SP", "async-fs", "3d-raytrace-SP", "3d-cube-SP"] > + > load("./JetStreamDriver.js"); > > + Oops: I'll revert this. > Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp:473 > + case DoubleRep: { > + break; > + > + if (m_node->child1()->op() != ValueRep) > + break; > + // FIXME: If we added a PurifyNaN node, we could just convert to being Identity(PurifyNaN(resultNode)) > + if (m_node->child1().useKind() != RealNumberUse) > + break; > + > + Node* valueRep = m_node->child1().node(); > + if (valueRep->child1().useKind() != DoubleRepUse) > + break; > + > + Node* resultNode = valueRep->child1().node(); > + m_insertionSet.insertNode( > + m_nodeIndex, SpecNone, Check, m_node->origin, > + Edge(resultNode, DoubleRepRealUse)); > + m_node->convertToIdentityOn(resultNode); > + m_changed = true; > + break; > + } > + > + case MovHint: { > + break; > + if (m_node->child1()->op() != ValueRep) > + break; > + if (m_node->child1()->child1().useKind() != DoubleRepUse) > + break; > + m_node->child1() = Edge(m_node->child1()->child1().node(), DoubleRepUse); > + m_changed = true; > + break; > + } Oops. I'll never these.
Created attachment 366214 [details] patch
Comment on attachment 366214 [details] patch Clearing flags on attachment: 366214 Committed r243744: <https://trac.webkit.org/changeset/243744>
All reviewed patches have been landed. Closing bug.
<rdar://problem/49532927>