Skip to content
Permalink
Browse files
[DFG] CheckTypeInfoFlags should say eliminated if it is removed in …
…constant folding phase

https://bugs.webkit.org/show_bug.cgi?id=185802

Reviewed by Saam Barati.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):


Canonical link: https://commits.webkit.org/201265@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Constellation committed May 20, 2018
1 parent 205665b commit 9aa88be616a8dd0c830b21292af48ae5b588dd72
Showing with 13 additions and 3 deletions.
  1. +10 −0 Source/JavaScriptCore/ChangeLog
  2. +3 −3 Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
@@ -1,3 +1,13 @@
2018-05-20 Yusuke Suzuki <utatane.tea@gmail.com>

[DFG] CheckTypeInfoFlags should say `eliminated` if it is removed in constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=185802

Reviewed by Saam Barati.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

2018-05-18 Filip Pizlo <fpizlo@apple.com>

DFG should inline InstanceOf ICs
@@ -865,7 +865,7 @@ class ConstantFoldingPhase : public Phase {
ASSERT(bits);
if (bits == ImplementsDefaultHasInstance) {
if (abstractValue.m_type == SpecFunctionWithDefaultHasInstance) {
changed = true;
eliminated = true;
node->remove(m_graph);
break;
}
@@ -877,7 +877,7 @@ class ConstantFoldingPhase : public Phase {
// and we can read its inline type info flags. These flags don't change over the
// object's lifetime.
if ((value.asCell()->inlineTypeFlags() & bits) == bits) {
changed = true;
eliminated = true;
node->remove(m_graph);
break;
}
@@ -890,7 +890,7 @@ class ConstantFoldingPhase : public Phase {
ok &= (structure->typeInfo().inlineTypeFlags() & bits) == bits;
});
if (ok) {
changed = true;
eliminated = true;
node->remove(m_graph);
break;
}

0 comments on commit 9aa88be

Please sign in to comment.