summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/dfg/DFGNode.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/dfg/DFGNode.h
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGNode.h')
-rw-r--r--Source/JavaScriptCore/dfg/DFGNode.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGNode.h b/Source/JavaScriptCore/dfg/DFGNode.h
index 7ca4d8d48..fb31f935e 100644
--- a/Source/JavaScriptCore/dfg/DFGNode.h
+++ b/Source/JavaScriptCore/dfg/DFGNode.h
@@ -743,6 +743,9 @@ struct Node {
case GetByVal:
case StringCharAt:
case StringCharCodeAt:
+ case CheckArray:
+ case ArrayPush:
+ case ArrayPop:
return true;
default:
return false;
@@ -755,10 +758,13 @@ struct Node {
return static_cast<Array::Mode>(m_opInfo);
}
- void setArrayMode(Array::Mode arrayMode)
+ bool setArrayMode(Array::Mode arrayMode)
{
ASSERT(hasArrayMode());
+ if (this->arrayMode() == arrayMode)
+ return false;
m_opInfo = arrayMode;
+ return true;
}
bool hasVirtualRegister()
@@ -910,12 +916,27 @@ struct Node {
{
return isBooleanSpeculation(prediction());
}
-
+
+ bool shouldSpeculateString()
+ {
+ return isStringSpeculation(prediction());
+ }
+
bool shouldSpeculateFinalObject()
{
return isFinalObjectSpeculation(prediction());
}
+ bool shouldSpeculateNonStringCell()
+ {
+ return isNonStringCellSpeculation(prediction());
+ }
+
+ bool shouldSpeculateNonStringCellOrOther()
+ {
+ return isNonStringCellOrOtherSpeculation(prediction());
+ }
+
bool shouldSpeculateFinalObjectOrOther()
{
return isFinalObjectOrOtherSpeculation(prediction());