Ignore:
Timestamp:
May 10, 2020, 7:36:05 PM (5 years ago)
Author:
Ross Kirsling
Message:

[clang-tidy] Run modernize-use-nullptr over JSC
https://bugs.webkit.org/show_bug.cgi?id=211706

Reviewed by Darin Adler.

  • API/APICallbackFunction.h:
  • API/JSAPIGlobalObject.h:
  • API/JSBase.cpp:
  • API/JSCallbackObjectFunctions.h:
  • API/JSClassRef.cpp:
  • API/JSContextRef.cpp:
  • API/JSObjectRef.cpp:
  • API/JSScriptRef.cpp:
  • API/JSValueRef.cpp:
  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/tests/ExecutionTimeLimitTest.cpp:
  • API/tests/PingPongStackOverflowTest.cpp:
  • assembler/AbstractMacroAssembler.h:
  • assembler/CPU.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecode/DeleteByIdVariant.cpp:
  • bytecode/GetByIdVariant.cpp:
  • bytecode/InByIdVariant.cpp:
  • bytecode/InlineCallFrame.cpp:
  • bytecode/LazyOperandValueProfile.cpp:
  • bytecode/PutByIdVariant.cpp:
  • bytecode/ValueProfile.h:
  • bytecode/ValueRecovery.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:
  • debugger/DebuggerScope.h:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGArgumentPosition.h:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGAvailability.h:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCompilationKey.h:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDoubleFormatState.h:
  • dfg/DFGEdge.h:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFrozenValue.cpp:
  • dfg/DFGGenerationInfo.h:
  • dfg/DFGGraph.h:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGIntegerCheckCombiningPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGNode.h:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGSilentRegisterSavePlan.h:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStructureAbstractValue.cpp:
  • dfg/DFGTransition.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLAvailableRecovery.h:
  • ftl/FTLExitValue.cpp:
  • ftl/FTLFormattedValue.h:
  • ftl/FTLJITCode.cpp:
  • ftl/FTLLink.cpp:
  • ftl/FTLLowerDFGToB3.cpp:
  • ftl/FTLLoweredNodeValue.h:
  • ftl/FTLOSREntry.cpp:
  • ftl/FTLOSRExitCompiler.cpp:
  • ftl/FTLTypedPointer.h:
  • ftl/FTLValueFromBlock.h:
  • ftl/FTLValueRange.h:
  • heap/GCSegmentedArray.h:
  • heap/Handle.h:
  • heap/HandleSet.h:
  • heap/HandleTypes.h:
  • heap/HeapSnapshotBuilder.cpp:
  • heap/MarkedBlockInlines.h:
  • heap/Strong.h:
  • heap/WeakImpl.h:
  • heap/WeakInlines.h:
  • heap/WeakSet.cpp:
  • heap/WeakSet.h:
  • interpreter/CallFrame.cpp:
  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:
  • interpreter/ProtoCallFrame.h:
  • interpreter/StackVisitor.cpp:
  • interpreter/StackVisitor.h:
  • jit/AssemblyHelpers.h:
  • jit/CCallHelpers.h:
  • jit/JITCode.cpp:
  • jit/JITOperations.cpp:
  • jit/Repatch.cpp:
  • jit/ThunkGenerators.cpp:
  • jsc.cpp:
  • llint/LLIntSlowPaths.cpp:
  • parser/ASTBuilder.h:
  • parser/Lexer.cpp:
  • parser/Lexer.h:
  • parser/Nodes.cpp:
  • parser/Nodes.h:
  • parser/Parser.cpp:
  • parser/Parser.h:
  • parser/ParserArena.cpp:
  • parser/ParserArena.h:
  • parser/ParserFunctionInfo.h:
  • parser/SyntaxChecker.h:
  • parser/UnlinkedSourceCode.h:
  • profiler/ProfilerBytecodeSequence.cpp:
  • profiler/ProfilerCompilation.cpp:
  • profiler/ProfilerDatabase.cpp:
  • profiler/ProfilerOSRExitSite.cpp:
  • profiler/ProfilerOriginStack.cpp:
  • runtime/ArgList.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/ClonedArguments.cpp:
  • runtime/CommonSlowPaths.cpp:
  • runtime/Completion.h:
  • runtime/DataView.h:
  • runtime/DatePrototype.cpp:
  • runtime/DirectEvalExecutable.cpp:
  • runtime/DumpContext.cpp:
  • runtime/FunctionExecutable.cpp:
  • runtime/IndirectEvalExecutable.cpp:
  • runtime/JSArray.cpp:
  • runtime/JSArrayBufferView.cpp:
  • runtime/JSCJSValue.cpp:
  • runtime/JSCJSValueInlines.h:
  • runtime/JSCell.cpp:
  • runtime/JSDataView.cpp:
  • runtime/JSDestructibleObject.h:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSONObject.cpp:
  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
  • runtime/JSScope.cpp:
  • runtime/JSScope.h:
  • runtime/LiteralParser.cpp:
  • runtime/OptionsList.h:
  • runtime/PropertyDescriptor.cpp:
  • runtime/PropertyMapHashTable.h:
  • runtime/PropertySlot.h:
  • runtime/PutPropertySlot.h:
  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpPrototype.cpp:
  • runtime/StringPrototype.cpp:
  • runtime/Structure.cpp:
  • runtime/Structure.h:
  • runtime/TestRunnerUtils.cpp:
  • runtime/TypedArrayType.cpp:
  • runtime/VM.cpp:
  • runtime/Watchdog.cpp:
  • runtime/Watchdog.h:
  • runtime/WriteBarrier.h:
  • testRegExp.cpp:
  • tools/JSDollarVM.cpp:
  • wasm/WasmSlowPaths.cpp:
  • yarr/RegularExpression.h:
  • yarr/YarrInterpreter.cpp:
  • yarr/YarrJIT.cpp:
  • yarr/YarrJIT.h:
  • yarr/YarrPattern.cpp:
  • yarr/YarrPattern.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

    r260984 r261464  
    121121{
    122122    if (dst == generator.ignoredResult())
    123         return 0;
     123        return nullptr;
    124124    JSValue constant = jsValue(generator);
    125125    if (UNLIKELY(!constant)) {
     
    174174    generator.ensureThis();
    175175    if (dst == generator.ignoredResult())
    176         return 0;
     176        return nullptr;
    177177
    178178    RegisterID* result = generator.move(dst, generator.thisRegister());
     
    465465
    466466    if (m_elision) {
    467         RegisterID* value = generator.emitLoad(0, jsNumber(m_elision + length));
     467        RegisterID* value = generator.emitLoad(nullptr, jsNumber(m_elision + length));
    468468        generator.emitPutById(array.get(), generator.propertyNames().length, value);
    469469    }
     
    480480    for (; n; n = n->next()) {
    481481        if (n->elision())
    482             generator.emitBinaryOp<OpAdd>(index.get(), index.get(), generator.emitLoad(0, jsNumber(n->elision())), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
     482            generator.emitBinaryOp<OpAdd>(index.get(), index.get(), generator.emitLoad(nullptr, jsNumber(n->elision())), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
    483483        if (n->value()->isSpreadExpression()) {
    484484            SpreadExpressionNode* spread = static_cast<SpreadExpressionNode*>(n->value());
     
    491491   
    492492    if (m_elision) {
    493         generator.emitBinaryOp<OpAdd>(index.get(), index.get(), generator.emitLoad(0, jsNumber(m_elision)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
     493        generator.emitBinaryOp<OpAdd>(index.get(), index.get(), generator.emitLoad(nullptr, jsNumber(m_elision)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
    494494        generator.emitPutById(array.get(), generator.propertyNames().length, index.get());
    495495    }
     
    515515    ElementNode* ptr = m_element;
    516516    if (!ptr)
    517         return 0;
     517        return nullptr;
    518518    JSTokenLocation location;
    519519    location.line = lineNumber;
     
    535535    if (!m_list) {
    536536        if (dst == generator.ignoredResult())
    537             return 0;
     537            return nullptr;
    538538        return generator.emitNewObject(generator.finalDestination(dst));
    539539    }
     
    18011801            argumentsRegister = generator.emitNode(subject);
    18021802            generator.emitExpressionInfo(spread->divot(), spread->divotStart(), spread->divotEnd());
    1803             RefPtr<RegisterID> thisRegister = generator.emitGetByVal(generator.newTemporary(), argumentsRegister.get(), generator.emitLoad(0, jsNumber(0)));
     1803            RefPtr<RegisterID> thisRegister = generator.emitGetByVal(generator.newTemporary(), argumentsRegister.get(), generator.emitLoad(nullptr, jsNumber(0)));
    18041804            generator.emitCallVarargsInTailPosition(returnValue.get(), base.get(), thisRegister.get(), argumentsRegister.get(), generator.newTemporary(), 1, divot(), divotStart(), divotEnd(), DebuggableCall::Yes);
    18051805        } else if (m_args->m_listNode && m_args->m_listNode->m_expr) {
     
    18971897                    Ref<Label> end = generator.newLabel();
    18981898                    RefPtr<RegisterID> compareResult = generator.newTemporary();
    1899                     RefPtr<RegisterID> indexZeroCompareResult = generator.emitBinaryOp<OpEq>(compareResult.get(), index.get(), generator.emitLoad(0, jsNumber(0)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
     1899                    RefPtr<RegisterID> indexZeroCompareResult = generator.emitBinaryOp<OpEq>(compareResult.get(), index.get(), generator.emitLoad(nullptr, jsNumber(0)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
    19001900                    generator.emitJumpIfFalse(indexZeroCompareResult.get(), haveThis.get());
    19011901                    generator.move(thisRegister.get(), value);
     
    19031903                    generator.emitJump(end.get());
    19041904                    generator.emitLabel(haveThis.get());
    1905                     RefPtr<RegisterID> indexOneCompareResult = generator.emitBinaryOp<OpEq>(compareResult.get(), index.get(), generator.emitLoad(0, jsNumber(1)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
     1905                    RefPtr<RegisterID> indexOneCompareResult = generator.emitBinaryOp<OpEq>(compareResult.get(), index.get(), generator.emitLoad(nullptr, jsNumber(1)), OperandTypes(ResultType::numberTypeIsInt32(), ResultType::numberTypeIsInt32()));
    19061906                    generator.emitJumpIfFalse(indexOneCompareResult.get(), end.get());
    19071907                    generator.move(argumentsRegister.get(), value);
     
    21632163    if (dst == generator.ignoredResult()) {
    21642164        generator.emitNode(generator.ignoredResult(), m_expr);
    2165         return 0;
     2165        return nullptr;
    21662166    }
    21672167    RefPtr<RegisterID> r0 = generator.emitNode(m_expr);
     
    21772177        generator.emitTDZCheckIfNecessary(var, local, nullptr);
    21782178        if (dst == generator.ignoredResult())
    2179             return 0;
     2179            return nullptr;
    21802180        return generator.emitTypeOf(generator.finalDestination(dst), local);
    21812181    }
     
    21852185    generator.emitTDZCheckIfNecessary(var, value.get(), nullptr);
    21862186    if (dst == generator.ignoredResult())
    2187         return 0;
     2187        return nullptr;
    21882188    return generator.emitTypeOf(generator.finalDestination(dst, scope.get()), value.get());
    21892189}
     
    21952195    if (dst == generator.ignoredResult()) {
    21962196        generator.emitNode(generator.ignoredResult(), m_expr);
    2197         return 0;
     2197        return nullptr;
    21982198    }
    21992199    RefPtr<RegisterID> src = generator.emitNode(m_expr);
     
    24362436    // If this is the case
    24372437    if (leftMostAddChild->isString())
    2438         leftMostAddChildTempRegister = 0;
     2438        leftMostAddChildTempRegister = nullptr;
    24392439
    24402440    while (reverseExpressionList.size()) {
     
    24502450        if (leftMostAddChildTempRegister) {
    24512451            generator.emitToPrimitive(leftMostAddChildTempRegister, leftMostAddChildTempRegister);
    2452             leftMostAddChildTempRegister = 0; // Only do this once.
     2452            leftMostAddChildTempRegister = nullptr; // Only do this once.
    24532453        }
    24542454        // Plant a conversion for this node, if necessary.
     
    25062506{
    25072507    branchCondition = TriState::Indeterminate;
    2508     branchExpression = 0;
    2509 
    2510     ConstantNode* constant = 0;
     2508    branchExpression = nullptr;
     2509
     2510    ConstantNode* constant = nullptr;
    25112511    if (m_expr1->isConstant()) {
    25122512        constant = static_cast<ConstantNode*>(m_expr1);
     
    31013101        generator.emitTDZCheckIfNecessary(var, nullptr, scope.get());
    31023102    if (dst == generator.ignoredResult())
    3103         dst = 0;
     3103        dst = nullptr;
    31043104    RefPtr<RegisterID> result = generator.emitNode(dst, m_right); // Execute side effects first.
    31053105    if (isReadOnly) {
     
    39813981
    39823982    if (dst == generator.ignoredResult())
    3983         dst = 0;
     3983        dst = nullptr;
    39843984
    39853985    RefPtr<RegisterID> returnRegister = m_value ? generator.emitNodeInTailPosition(dst, m_value) : generator.emitLoad(dst, jsUndefined());
     
    42144214{
    42154215    if (dst == generator.ignoredResult())
    4216         dst = 0;
     4216        dst = nullptr;
    42174217    RefPtr<RegisterID> expr = generator.emitNode(m_expr);
    42184218    generator.emitExpressionInfo(divot(), divotStart(), divotEnd());
     
    45094509
    45104510        StatementNode* singleStatement = this->singleStatement();
    4511         ReturnNode* returnNode = 0;
     4511        ReturnNode* returnNode = nullptr;
    45124512
    45134513        // Check for a return statement at the end of a function composed of a single block.
     
    45274527                r0 = generator.thisRegister();
    45284528            else
    4529                 r0 = generator.emitLoad(0, jsUndefined());
     4529                r0 = generator.emitLoad(nullptr, jsUndefined());
    45304530            generator.emitProfileType(r0, ProfileTypeBytecodeFunctionReturnStatement); // Do not emit expression info for this profile because it's not in the user's source code.
    45314531            ASSERT(startOffset() >= lineStartOffset());
     
    52115211{
    52125212    RELEASE_ASSERT_NOT_REACHED();
    5213     return 0;
     5213    return nullptr;
    52145214}
    52155215
Note: See TracChangeset for help on using the changeset viewer.