Changeset 155499 in webkit for trunk/Source/JavaScriptCore/dfg/DFGGraph.h
- Timestamp:
- Sep 10, 2013, 9:35:16 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGGraph.h
r155497 r155499 229 229 } 230 230 231 bool addShouldSpeculateMachineInt(Node* add) 232 { 233 Node* left = add->child1().node(); 234 Node* right = add->child2().node(); 235 236 bool speculation; 237 if (add->op() == ValueAdd) 238 speculation = Node::shouldSpeculateMachineIntExpectingDefined(left, right); 239 else 240 speculation = Node::shouldSpeculateMachineIntForArithmetic(left, right); 241 242 return speculation && !hasExitSite(add, Int48Overflow); 243 } 244 231 245 bool mulShouldSpeculateInt32(Node* mul) 232 246 { … … 236 250 Node* right = mul->child2().node(); 237 251 238 return Node::shouldSpeculateInt32ForArithmetic(left, right) && mul->canSpeculateInt32(); 252 return Node::shouldSpeculateInt32ForArithmetic(left, right) 253 && mul->canSpeculateInt32(); 254 } 255 256 bool mulShouldSpeculateMachineInt(Node* mul) 257 { 258 ASSERT(mul->op() == ArithMul); 259 260 Node* left = mul->child1().node(); 261 Node* right = mul->child2().node(); 262 263 return Node::shouldSpeculateMachineIntForArithmetic(left, right) 264 && mul->canSpeculateInt48() 265 && !hasExitSite(mul, Int48Overflow); 239 266 } 240 267 … … 243 270 ASSERT(negate->op() == ArithNegate); 244 271 return negate->child1()->shouldSpeculateInt32ForArithmetic() && negate->canSpeculateInt32(); 272 } 273 274 bool negateShouldSpeculateMachineInt(Node* negate) 275 { 276 ASSERT(negate->op() == ArithNegate); 277 return negate->child1()->shouldSpeculateMachineIntForArithmetic() 278 && !hasExitSite(negate, Int48Overflow) 279 && negate->canSpeculateInt48(); 245 280 } 246 281 … … 379 414 { 380 415 return baselineCodeBlockFor(codeOrigin)->hasExitSite(FrequentExitSite(codeOrigin.bytecodeIndex, exitKind)); 416 } 417 418 bool hasExitSite(Node* node, ExitKind exitKind) 419 { 420 return hasExitSite(node->codeOrigin, exitKind); 381 421 } 382 422
Note:
See TracChangeset
for help on using the changeset viewer.