Changeset 264059 in webkit for trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
- Timestamp:
- Jul 7, 2020, 9:36:49 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
r263035 r264059 99 99 void ConstantNode::emitBytecodeInConditionContext(BytecodeGenerator& generator, Label& trueTarget, Label& falseTarget, FallThroughMode fallThroughMode) 100 100 { 101 TriState value = jsValue(generator).pureToBoolean(); 101 TriState value = TriState::Indeterminate; 102 JSValue constant = jsValue(generator); 103 if (LIKELY(constant)) 104 value = constant.pureToBoolean(); 102 105 103 106 if (UNLIKELY(needsDebugHook())) { … … 411 414 if (!firstPutElement->value()->isConstant()) 412 415 hadVariableExpression = true; 413 else 414 recommendedIndexingType = leastUpperBoundOfIndexingTypeAndValue(recommendedIndexingType, static_cast<ConstantNode*>(firstPutElement->value())->jsValue(generator)); 416 else { 417 JSValue constant = static_cast<ConstantNode*>(firstPutElement->value())->jsValue(generator); 418 if (UNLIKELY(!constant)) 419 hadVariableExpression = true; 420 else 421 recommendedIndexingType = leastUpperBoundOfIndexingTypeAndValue(recommendedIndexingType, constant); 422 } 415 423 416 424 ++length; … … 425 433 for (ElementNode* element = elements; index < length; element = element->next()) { 426 434 ASSERT(element->value()->isConstant()); 427 array->setIndex(generator.vm(), index++, static_cast<ConstantNode*>(element->value())->jsValue(generator)); 435 JSValue constant = static_cast<ConstantNode*>(element->value())->jsValue(generator); 436 ASSERT(constant); 437 array->setIndex(generator.vm(), index++, constant); 428 438 } 429 439 return generator.emitNewArrayBuffer(dst, array, recommendedIndexingType); … … 2704 2714 OpcodeID opcodeID = this->opcodeID(); 2705 2715 JSValue value = constant->jsValue(generator); 2716 if (UNLIKELY(!value)) 2717 return; 2706 2718 bool canFoldToBranch = JSC::canFoldToBranch(opcodeID, branchExpression, value); 2707 2719 if (!canFoldToBranch)
Note:
See TracChangeset
for help on using the changeset viewer.