Changeset 244088 in webkit
- Timestamp:
- Apr 9, 2019 11:50:00 AM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 50 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSValueRef.cpp
r237009 r244088 37 37 #include "JSGlobalObject.h" 38 38 #include "JSONObject.h" 39 #include "JSObjectRefPrivate.h" 39 40 #include "JSString.h" 40 41 #include "LiteralParser.h" -
trunk/Source/JavaScriptCore/ChangeLog
r244081 r244088 1 2019-04-09 Ross Kirsling <ross.kirsling@sony.com> 2 3 JSC should build successfully even with -DENABLE_UNIFIED_BUILDS=OFF 4 https://bugs.webkit.org/show_bug.cgi?id=193073 5 6 Reviewed by Keith Miller. 7 8 * bytecompiler/BytecodeGenerator.cpp: 9 (JSC::BytecodeGenerator::emitEqualityOpImpl): 10 (JSC::BytecodeGenerator::emitEqualityOp): Deleted. 11 * bytecompiler/BytecodeGenerator.h: 12 (JSC::BytecodeGenerator::emitEqualityOp): 13 Factor out the logic that uses the template parameter and keep it in the header. 14 15 * jit/JITPropertyAccess.cpp: 16 List off the template specializations needed by JITOperations.cpp. 17 This is unfortunate but at least there are only two (x2) by definition? 18 Trying to do away with this incurs a severe domino effect... 19 20 * API/JSValueRef.cpp: 21 * b3/B3OptimizeAssociativeExpressionTrees.cpp: 22 * b3/air/AirHandleCalleeSaves.cpp: 23 * builtins/BuiltinNames.cpp: 24 * bytecode/AccessCase.cpp: 25 * bytecode/BytecodeIntrinsicRegistry.cpp: 26 * bytecode/BytecodeIntrinsicRegistry.h: 27 * bytecode/BytecodeRewriter.cpp: 28 * bytecode/BytecodeUseDef.h: 29 * bytecode/CodeBlock.cpp: 30 * bytecode/InstanceOfAccessCase.cpp: 31 * bytecode/MetadataTable.cpp: 32 * bytecode/PolyProtoAccessChain.cpp: 33 * bytecode/StructureSet.cpp: 34 * bytecompiler/NodesCodegen.cpp: 35 * dfg/DFGCFAPhase.cpp: 36 * dfg/DFGPureValue.cpp: 37 * heap/GCSegmentedArray.h: 38 * heap/HeapInlines.h: 39 * heap/IsoSubspace.cpp: 40 * heap/LocalAllocator.cpp: 41 * heap/LocalAllocator.h: 42 * heap/LocalAllocatorInlines.h: 43 * heap/MarkingConstraintSolver.cpp: 44 * inspector/ScriptArguments.cpp: 45 (Inspector::ScriptArguments::isEqual const): 46 * inspector/ScriptCallStackFactory.cpp: 47 * interpreter/CallFrame.h: 48 * interpreter/Interpreter.cpp: 49 * interpreter/StackVisitor.cpp: 50 * llint/LLIntEntrypoint.cpp: 51 * runtime/ArrayIteratorPrototype.cpp: 52 * runtime/BigIntPrototype.cpp: 53 * runtime/CachedTypes.cpp: 54 * runtime/ErrorType.cpp: 55 * runtime/IndexingType.cpp: 56 * runtime/JSCellInlines.h: 57 * runtime/JSImmutableButterfly.h: 58 * runtime/Operations.h: 59 * runtime/RegExpCachedResult.cpp: 60 * runtime/RegExpConstructor.cpp: 61 * runtime/RegExpGlobalData.cpp: 62 * runtime/StackFrame.h: 63 * wasm/WasmSignature.cpp: 64 * wasm/js/JSToWasm.cpp: 65 * wasm/js/JSToWasmICCallee.cpp: 66 * wasm/js/WebAssemblyFunction.h: 67 Fix includes / forward declarations (and a couple of nearby clang warnings). 68 1 69 2019-04-09 Don Olmstead <don.olmstead@sony.com> 2 70 -
trunk/Source/JavaScriptCore/b3/B3OptimizeAssociativeExpressionTrees.cpp
r243851 r244088 32 32 #include "B3Const32Value.h" 33 33 #include "B3Const64Value.h" 34 #include "B3InsertionSet .h"34 #include "B3InsertionSetInlines.h" 35 35 #include "B3Opcode.h" 36 36 #include "B3PhaseScope.h" -
trunk/Source/JavaScriptCore/b3/air/AirHandleCalleeSaves.cpp
r241579 r244088 31 31 #include "AirCode.h" 32 32 #include "AirInstInlines.h" 33 #include "RegisterSet.h" 33 34 34 35 namespace JSC { namespace B3 { namespace Air { -
trunk/Source/JavaScriptCore/builtins/BuiltinNames.cpp
r241104 r244088 26 26 #include "config.h" 27 27 #include "BuiltinNames.h" 28 29 #include "IdentifierInlines.h" 28 30 29 31 #if COMPILER(MSVC) -
trunk/Source/JavaScriptCore/bytecode/AccessCase.cpp
r243467 r244088 35 35 #include "GetterSetter.h" 36 36 #include "GetterSetterAccessCase.h" 37 #include "HeapInlines.h"38 37 #include "InstanceOfAccessCase.h" 39 38 #include "IntrinsicGetterAccessCase.h" 40 #include "JSC JSValueInlines.h"39 #include "JSCInlines.h" 41 40 #include "JSModuleEnvironment.h" 42 41 #include "JSModuleNamespaceObject.h" … … 46 45 #include "ScopedArguments.h" 47 46 #include "ScratchRegisterAllocator.h" 48 #include "SlotVisitorInlines.h"49 47 #include "StructureStubInfo.h" 50 48 #include "SuperSampler.h" -
trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp
r242015 r244088 33 33 #include "IterationKind.h" 34 34 #include "JSAsyncGeneratorFunction.h" 35 #include "JSC JSValueInlines.h"35 #include "JSCInlines.h" 36 36 #include "JSGeneratorFunction.h" 37 37 #include "JSGlobalObject.h" -
trunk/Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
r242015 r244088 36 36 class BytecodeIntrinsicNode; 37 37 class RegisterID; 38 class Identifier;39 38 40 39 #define JSC_COMMON_BYTECODE_INTRINSIC_FUNCTIONS_EACH_NAME(macro) \ -
trunk/Source/JavaScriptCore/bytecode/BytecodeRewriter.cpp
r237547 r244088 28 28 #include "BytecodeRewriter.h" 29 29 30 #include " HeapInlines.h"30 #include "JSCInlines.h" 31 31 #include "PreciseJumpTargetsInlines.h" 32 32 #include <wtf/BubbleSort.h> -
trunk/Source/JavaScriptCore/bytecode/BytecodeUseDef.h
r243127 r244088 26 26 #pragma once 27 27 28 #include "BytecodeStructs.h" 28 29 #include "CodeBlock.h" 29 30 #include "Instruction.h" -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r243626 r244088 109 109 110 110 namespace JSC { 111 namespace CodeBlockInternal {112 static constexpr bool verbose = false;113 } // namespace CodeBlockInternal114 111 115 112 const ClassInfo CodeBlock::s_info = { -
trunk/Source/JavaScriptCore/bytecode/InstanceOfAccessCase.cpp
r243697 r244088 28 28 29 29 #if ENABLE(JIT) 30 31 #include "JSCInlines.h" 30 32 31 33 namespace JSC { -
trunk/Source/JavaScriptCore/bytecode/MetadataTable.cpp
r240915 r244088 28 28 29 29 #include "CodeBlock.h" 30 #include "JSCInlines.h" 30 31 #include "OpcodeInlines.h" 31 32 #include "UnlinkedMetadataTableInlines.h" -
trunk/Source/JavaScriptCore/bytecode/PolyProtoAccessChain.cpp
r222827 r244088 27 27 #include "PolyProtoAccessChain.h" 28 28 29 #include "JSCInlines.h" 29 30 #include "JSObject.h" 30 31 -
trunk/Source/JavaScriptCore/bytecode/StructureSet.cpp
r243467 r244088 27 27 #include "StructureSet.h" 28 28 29 #include "JSCInlines.h" 29 30 #include "TrackedReferences.h" 30 31 #include <wtf/CommaPrinter.h> -
trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
r243875 r244088 1729 1729 } 1730 1730 1731 template<typename EqOp> 1732 RegisterID* BytecodeGenerator::emitEqualityOp(RegisterID* dst, RegisterID* src1, RegisterID* src2) 1731 bool BytecodeGenerator::emitEqualityOpImpl(RegisterID* dst, RegisterID* src1, RegisterID* src2) 1733 1732 { 1734 1733 if (m_lastInstruction->is<OpTypeof>()) { … … 1742 1741 rewind(); 1743 1742 OpIsUndefined::emit(this, dst, op.m_value); 1744 return dst;1743 return true; 1745 1744 } 1746 1745 if (value == "boolean") { 1747 1746 rewind(); 1748 1747 OpIsBoolean::emit(this, dst, op.m_value); 1749 return dst;1748 return true; 1750 1749 } 1751 1750 if (value == "number") { 1752 1751 rewind(); 1753 1752 OpIsNumber::emit(this, dst, op.m_value); 1754 return dst;1753 return true; 1755 1754 } 1756 1755 if (value == "string") { 1757 1756 rewind(); 1758 1757 OpIsCellWithType::emit(this, dst, op.m_value, StringType); 1759 return dst;1758 return true; 1760 1759 } 1761 1760 if (value == "symbol") { 1762 1761 rewind(); 1763 1762 OpIsCellWithType::emit(this, dst, op.m_value, SymbolType); 1764 return dst;1763 return true; 1765 1764 } 1766 1765 if (Options::useBigInt() && value == "bigint") { 1767 1766 rewind(); 1768 1767 OpIsCellWithType::emit(this, dst, op.m_value, BigIntType); 1769 return dst;1768 return true; 1770 1769 } 1771 1770 if (value == "object") { 1772 1771 rewind(); 1773 1772 OpIsObjectOrNull::emit(this, dst, op.m_value); 1774 return dst;1773 return true; 1775 1774 } 1776 1775 if (value == "function") { 1777 1776 rewind(); 1778 1777 OpIsFunction::emit(this, dst, op.m_value); 1779 return dst;1778 return true; 1780 1779 } 1781 1780 } 1782 1781 } 1783 1782 1784 EqOp::emit(this, dst, src1, src2); 1785 return dst; 1783 return false; 1786 1784 } 1787 1785 -
trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
r243875 r244088 713 713 714 714 template<typename EqOp> 715 RegisterID* emitEqualityOp(RegisterID* dst, RegisterID* src1, RegisterID* src2); 715 RegisterID* emitEqualityOp(RegisterID* dst, RegisterID* src1, RegisterID* src2) 716 { 717 if (!emitEqualityOpImpl(dst, src1, src2)) 718 EqOp::emit(this, dst, src1, src2); 719 return dst; 720 } 721 722 bool emitEqualityOpImpl(RegisterID* dst, RegisterID* src1, RegisterID* src2); 723 716 724 RegisterID* emitCreateThis(RegisterID* dst); 717 725 void emitTDZCheck(RegisterID* target); -
trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
r242699 r244088 42 42 #include "Parser.h" 43 43 #include "StackAlignment.h" 44 #include "UnlinkedMetadataTableInlines.h" 44 45 #include "YarrFlags.h" 45 46 #include <wtf/Assertions.h> -
trunk/Source/JavaScriptCore/dfg/DFGCFAPhase.cpp
r242990 r244088 32 32 #include "DFGBlockSet.h" 33 33 #include "DFGClobberSet.h" 34 #include "DFGClobberize.h" 34 35 #include "DFGGraph.h" 35 36 #include "DFGInPlaceAbstractState.h" -
trunk/Source/JavaScriptCore/dfg/DFGPureValue.cpp
r228565 r244088 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include "DFGGraph.h"32 33 31 namespace JSC { namespace DFG { 34 32 -
trunk/Source/JavaScriptCore/heap/GCSegmentedArray.h
r229180 r244088 28 28 #include <wtf/DoublyLinkedList.h> 29 29 #include <wtf/Forward.h> 30 #include <wtf/Noncopyable.h> 30 31 31 32 namespace JSC { -
trunk/Source/JavaScriptCore/heap/HeapInlines.h
r243467 r244088 30 30 #include "HeapCellInlines.h" 31 31 #include "IndexingHeader.h" 32 #include "JSCallee.h"33 32 #include "JSCast.h" 34 33 #include "Structure.h" -
trunk/Source/JavaScriptCore/heap/IsoSubspace.cpp
r232132 r244088 30 30 #include "BlockDirectoryInlines.h" 31 31 #include "IsoAlignedMemoryAllocator.h" 32 #include "IsoSubspaceInlines.h" 32 33 #include "LocalAllocatorInlines.h" 33 34 -
trunk/Source/JavaScriptCore/heap/LocalAllocator.cpp
r242912 r244088 28 28 29 29 #include "AllocatingScope.h" 30 #include "FreeListInlines.h" 31 #include "GCDeferralContext.h" 32 #include "JSCInlines.h" 30 33 #include "LocalAllocatorInlines.h" 31 34 #include "Options.h" 35 #include "SuperSampler.h" 32 36 33 37 namespace JSC { -
trunk/Source/JavaScriptCore/heap/LocalAllocator.h
r240216 r244088 26 26 #pragma once 27 27 28 #include "AllocationFailureMode.h" 28 29 #include "FreeList.h" 29 30 #include "MarkedBlock.h" -
trunk/Source/JavaScriptCore/heap/LocalAllocatorInlines.h
r241927 r244088 26 26 #pragma once 27 27 28 #include "HeapInlines.h" 28 29 #include "LocalAllocator.h" 29 30 -
trunk/Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp
r242070 r244088 28 28 29 29 #include "JSCInlines.h" 30 #include "MarkingConstraintSet.h" 30 31 31 32 namespace JSC { -
trunk/Source/JavaScriptCore/inspector/ScriptArguments.cpp
r233122 r244088 36 36 #include "JSCInlines.h" 37 37 #include "ProxyObject.h" 38 #include "StrongInlines.h" 38 39 39 40 namespace Inspector { … … 111 112 } else { 112 113 auto scope = DECLARE_CATCH_SCOPE(state->vm()); 113 bool result = JS Value::strictEqual(state, a, b);114 bool result = JSC::JSValue::strictEqual(state, a, b); 114 115 scope.clearException(); 115 116 if (!result) -
trunk/Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp
r233122 r244088 43 43 #include "ScriptCallFrame.h" 44 44 #include "StackVisitor.h" 45 #include "StrongInlines.h" 45 46 #include <wtf/text/WTFString.h> 46 47 -
trunk/Source/JavaScriptCore/interpreter/CallFrame.h
r239244 r244088 259 259 260 260 void convertToStackOverflowFrame(VM&, CodeBlock* codeBlockToKeepAliveUntilFrameIsUnwound); 261 inlinebool isStackOverflowFrame() const;262 inlinebool isWasmFrame() const;261 bool isStackOverflowFrame() const; 262 bool isWasmFrame() const; 263 263 264 264 void setArgumentCountIncludingThis(int count) { static_cast<Register*>(this)[CallFrameSlot::argumentCount].payload() = count; } -
trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
r243907 r244088 82 82 #include "VMInspector.h" 83 83 #include "VirtualRegister.h" 84 85 84 #include <limits.h> 86 85 #include <stdio.h> … … 94 93 #if ENABLE(JIT) 95 94 #include "JIT.h" 95 #endif 96 97 #if ENABLE(WEBASSEMBLY) 98 #include "WasmContextInlines.h" 99 #include "WebAssemblyFunction.h" 96 100 #endif 97 101 -
trunk/Source/JavaScriptCore/interpreter/StackVisitor.cpp
r243907 r244088 27 27 #include "StackVisitor.h" 28 28 29 #include "CallFrameInlines.h" 29 30 #include "ClonedArguments.h" 30 31 #include "DebuggerPrimitives.h" -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
r242123 r244088 45 45 #include "SlowPathCall.h" 46 46 #include "StructureStubInfo.h" 47 #include "ThunkGenerators.h" 47 48 #include <wtf/ScopedLambda.h> 48 49 #include <wtf/StringPrintStream.h> … … 1440 1441 MacroAssembler::repatchCall(CodeLocationCall<NoPtrTag>(MacroAssemblerCodePtr<NoPtrTag>(returnAddress)), FunctionPtr<OperationPtrTag>(isDirect ? operationDirectPutByValGeneric : operationPutByValGeneric)); 1441 1442 } 1443 // This function is only consumed from another translation unit (JITOperations.cpp), 1444 // so we list off the two expected specializations in advance. 1445 template void JIT::privateCompilePutByVal<OpPutByVal>(const ConcurrentJSLocker&, ByValInfo*, ReturnAddressPtr, JITArrayMode); 1446 template void JIT::privateCompilePutByVal<OpPutByValDirect>(const ConcurrentJSLocker&, ByValInfo*, ReturnAddressPtr, JITArrayMode); 1442 1447 1443 1448 template<typename Op> … … 1474 1479 MacroAssembler::repatchCall(CodeLocationCall<NoPtrTag>(MacroAssemblerCodePtr<NoPtrTag>(returnAddress)), FunctionPtr<OperationPtrTag>(putKind == Direct ? operationDirectPutByValGeneric : operationPutByValGeneric)); 1475 1480 } 1481 // This function is only consumed from another translation unit (JITOperations.cpp), 1482 // so we list off the two expected specializations in advance. 1483 template void JIT::privateCompilePutByValWithCachedId<OpPutByVal>(ByValInfo*, ReturnAddressPtr, PutKind, const Identifier&); 1484 template void JIT::privateCompilePutByValWithCachedId<OpPutByValDirect>(ByValInfo*, ReturnAddressPtr, PutKind, const Identifier&); 1476 1485 1477 1486 JIT::JumpList JIT::emitDoubleLoad(const Instruction*, PatchableJump& badType) -
trunk/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
r243136 r244088 31 31 #include "JSCellInlines.h" 32 32 #include "JSObject.h" 33 #include "LLIntData.h" 33 34 #include "LLIntThunks.h" 34 35 #include "LowLevelInterpreter.h" -
trunk/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp
r242742 r244088 28 28 29 29 #include "IteratorOperations.h" 30 #include "JSCBuiltins.h" 30 31 #include "JSCInlines.h" 31 32 #include "JSCJSValueInlines.h" -
trunk/Source/JavaScriptCore/runtime/BigIntPrototype.cpp
r233122 r244088 28 28 #include "BigIntPrototype.h" 29 29 30 #include "BigIntObject.h" 30 31 #include "Error.h" 31 32 #include "JSBigInt.h" -
trunk/Source/JavaScriptCore/runtime/CachedTypes.cpp
r243875 r244088 29 29 #include "BytecodeCacheVersion.h" 30 30 #include "BytecodeLivenessAnalysis.h" 31 #include "JSCInlines.h" 31 32 #include "JSImmutableButterfly.h" 32 33 #include "JSTemplateObjectDescriptor.h" -
trunk/Source/JavaScriptCore/runtime/ErrorType.cpp
r240543 r244088 27 27 #include "ErrorType.h" 28 28 29 #include <wtf/PrintStream.h> 30 29 31 namespace JSC { 30 32 -
trunk/Source/JavaScriptCore/runtime/IndexingType.cpp
r232070 r244088 26 26 #include "config.h" 27 27 #include "IndexingType.h" 28 29 #include "JSCInlines.h" 28 30 29 31 namespace JSC { -
trunk/Source/JavaScriptCore/runtime/JSCellInlines.h
r241927 r244088 34 34 #include "FreeListInlines.h" 35 35 #include "Handle.h" 36 #include "HeapInlines.h" 36 37 #include "IsoSubspaceInlines.h" 37 38 #include "JSBigInt.h" … … 42 43 #include "LocalAllocatorInlines.h" 43 44 #include "MarkedBlock.h" 45 #include "SlotVisitorInlines.h" 44 46 #include "Structure.h" 45 47 #include "Symbol.h" -
trunk/Source/JavaScriptCore/runtime/JSImmutableButterfly.h
r240965 r244088 28 28 #include "Butterfly.h" 29 29 #include "IndexingHeader.h" 30 #include "JSCJSValueInlines.h" 30 31 #include "JSCell.h" 31 32 #include "Structure.h" -
trunk/Source/JavaScriptCore/runtime/Operations.h
r241493 r244088 25 25 #include "ExceptionHelpers.h" 26 26 #include "JSBigInt.h" 27 #include "JSCJSValue .h"27 #include "JSCJSValueInlines.h" 28 28 #include <wtf/Variant.h> 29 29 -
trunk/Source/JavaScriptCore/runtime/RegExpCachedResult.cpp
r243081 r244088 28 28 29 29 #include "JSCInlines.h" 30 #include "RegExpCache.h" 30 31 #include "RegExpMatchesArray.h" 31 32 -
trunk/Source/JavaScriptCore/runtime/RegExpConstructor.cpp
r243128 r244088 25 25 #include "Error.h" 26 26 #include "GetterSetter.h" 27 #include "JSCInlines.h" 27 28 #include "RegExpGlobalDataInlines.h" 28 29 #include "RegExpPrototype.h" 29 #include "StructureInlines.h"30 30 #include "YarrFlags.h" 31 31 -
trunk/Source/JavaScriptCore/runtime/RegExpGlobalData.cpp
r243832 r244088 27 27 #include "RegExpGlobalData.h" 28 28 29 #include "JSC JSValueInlines.h"29 #include "JSCInlines.h" 30 30 #include "JSString.h" 31 31 -
trunk/Source/JavaScriptCore/runtime/StackFrame.h
r243467 r244088 27 27 28 28 #include "Heap.h" 29 #include "VM.h" 29 30 #include "WasmIndexOrName.h" 30 31 #include "WriteBarrier.h" -
trunk/Source/JavaScriptCore/wasm/WasmSignature.cpp
r235786 r244088 29 29 #if ENABLE(WEBASSEMBLY) 30 30 31 #include "WasmSignatureInlines.h" 31 32 #include <wtf/FastMalloc.h> 32 33 #include <wtf/HashFunctions.h> -
trunk/Source/JavaScriptCore/wasm/js/JSToWasm.cpp
r243886 r244088 30 30 31 31 #include "CCallHelpers.h" 32 #include "JSCInlines.h" 32 33 #include "JSWebAssemblyInstance.h" 33 34 #include "JSWebAssemblyRuntimeError.h" -
trunk/Source/JavaScriptCore/wasm/js/JSToWasmICCallee.cpp
r243886 r244088 29 29 #if ENABLE(WEBASSEMBLY) 30 30 31 #include "JSCInlines.h" 31 32 #include "WebAssemblyFunction.h" 32 33 -
trunk/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h
r243886 r244088 28 28 #if ENABLE(WEBASSEMBLY) 29 29 30 #include "ArityCheckMode.h" 30 31 #include "JSToWasmICCallee.h" 31 32 #include "MacroAssemblerCodeRef.h"
Note: See TracChangeset
for help on using the changeset viewer.