Diff
Modified: trunk/Source/_javascript_Core/API/JSScriptRef.cpp (261541 => 261542)
--- trunk/Source/_javascript_Core/API/JSScriptRef.cpp 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/API/JSScriptRef.cpp 2020-05-12 03:04:10 UTC (rev 261542)
@@ -39,7 +39,7 @@
using namespace JSC;
-struct OpaqueJSScript : public SourceProvider {
+struct OpaqueJSScript final : public SourceProvider {
public:
static WTF::Ref<OpaqueJSScript> create(VM& vm, const SourceOrigin& sourceOrigin, URL&& url, int startingLineNumber, const String& source)
{
@@ -46,12 +46,12 @@
return WTF::adoptRef(*new OpaqueJSScript(vm, sourceOrigin, WTFMove(url), startingLineNumber, source));
}
- unsigned hash() const override
+ unsigned hash() const final
{
return m_source.get().hash();
}
- StringView source() const override
+ StringView source() const final
{
return m_source.get();
}
@@ -66,7 +66,7 @@
{
}
- virtual ~OpaqueJSScript() { }
+ ~OpaqueJSScript() final { }
VM& m_vm;
Ref<StringImpl> m_source;
Modified: trunk/Source/_javascript_Core/ChangeLog (261541 => 261542)
--- trunk/Source/_javascript_Core/ChangeLog 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/ChangeLog 2020-05-12 03:04:10 UTC (rev 261542)
@@ -1,3 +1,78 @@
+2020-05-11 Ross Kirsling <[email protected]>
+
+ [clang-tidy] Run modernize-use-override over JSC, then ensure as much as possible is final
+ https://bugs.webkit.org/show_bug.cgi?id=211743
+
+ Reviewed by Saam Barati.
+
+ * API/JSScriptRef.cpp:
+ * b3/B3ArgumentRegValue.h:
+ * b3/B3AtomicValue.h:
+ * b3/B3CCallValue.h:
+ * b3/B3CheckSpecial.h:
+ * b3/B3CheckValue.h:
+ * b3/B3Const32Value.h:
+ * b3/B3Const64Value.h:
+ * b3/B3ConstDoubleValue.h:
+ * b3/B3ConstFloatValue.h:
+ * b3/B3DataSection.h:
+ * b3/B3ExtractValue.h:
+ * b3/B3FenceValue.h:
+ * b3/B3MemoryValue.h:
+ * b3/B3PatchpointSpecial.h:
+ * b3/B3PatchpointValue.h:
+ * b3/B3SlotBaseValue.h:
+ * b3/B3StackmapSpecial.h:
+ * b3/B3StackmapValue.h:
+ * b3/B3SwitchValue.h:
+ * b3/B3UpsilonValue.h:
+ * b3/B3VariableValue.h:
+ * b3/B3WasmAddressValue.h:
+ * b3/B3WasmBoundsCheckValue.h:
+ * b3/air/AirCCallSpecial.h:
+ * b3/air/AirPrintSpecial.h:
+ * bytecode/BytecodeDumper.h:
+ * bytecode/GetterSetterAccessCase.h:
+ * bytecode/InstanceOfAccessCase.h:
+ * bytecode/IntrinsicGetterAccessCase.h:
+ * bytecode/ModuleNamespaceAccessCase.h:
+ * bytecode/ProxyableAccessCase.h:
+ * bytecode/Watchpoint.h:
+ * dfg/DFGFailedFinalizer.h:
+ * dfg/DFGGraph.h:
+ * dfg/DFGJITCode.h:
+ * dfg/DFGJITFinalizer.h:
+ * dfg/DFGToFTLDeferredCompilationCallback.h:
+ * dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
+ * ftl/FTLForOSREntryJITCode.h:
+ * ftl/FTLJITCode.h:
+ * ftl/FTLJITFinalizer.h:
+ * heap/CompleteSubspace.h:
+ * heap/FastMallocAlignedMemoryAllocator.h:
+ * heap/GigacageAlignedMemoryAllocator.h:
+ * heap/HeapSnapshotBuilder.h:
+ * heap/IsoAlignedMemoryAllocator.h:
+ * heap/IsoSubspace.h:
+ * heap/IsoSubspacePerVM.cpp:
+ * heap/IsoSubspacePerVM.h:
+ * heap/MarkStackMergingConstraint.h:
+ * heap/SimpleMarkingConstraint.h:
+ * heap/SpaceTimeMutatorScheduler.h:
+ * heap/StochasticSpaceTimeMutatorScheduler.h:
+ * heap/SynchronousStopTheWorldMutatorScheduler.h:
+ * jit/GCAwareJITStubRoutine.h:
+ * jit/JITCode.h:
+ * jit/JITThunks.h:
+ * jit/JITToDFGDeferredCompilationCallback.h:
+ * jit/PolymorphicCallStubRoutine.h:
+ * jsc.cpp:
+ * parser/Lexer.cpp: Address warning.
+ * runtime/JSDestructibleObjectHeapCellType.h:
+ * runtime/SimpleTypedArrayController.h:
+ * runtime/Structure.h:
+ * runtime/WeakGCMap.h:
+ * wasm/WasmEntryPlan.h:
+
2020-05-11 Mark Lam <[email protected]>
Introduce WTF::Config and put Signal.cpp's init-once globals in it.
Modified: trunk/Source/_javascript_Core/b3/B3ArgumentRegValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3ArgumentRegValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3ArgumentRegValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,20 +32,19 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE ArgumentRegValue : public Value {
+class JS_EXPORT_PRIVATE ArgumentRegValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == ArgumentReg; }
- ~ArgumentRegValue();
+ ~ArgumentRegValue() final;
Reg argumentReg() const { return m_reg; }
B3_SPECIALIZE_VALUE_FOR_NO_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3AtomicValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3AtomicValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3AtomicValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,7 +32,7 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE AtomicValue : public MemoryValue {
+class JS_EXPORT_PRIVATE AtomicValue final : public MemoryValue {
public:
static bool accepts(Kind kind)
{
@@ -39,7 +39,7 @@
return isAtom(kind.opcode());
}
- ~AtomicValue();
+ ~AtomicValue() final;
Type accessType() const { return child(0)->type(); }
@@ -47,10 +47,9 @@
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3CCallValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3CCallValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3CCallValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,11 +32,11 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE CCallValue : public Value {
+class JS_EXPORT_PRIVATE CCallValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == CCall; }
- ~CCallValue();
+ ~CCallValue() final;
void appendArgs(const Vector<Value*>&);
Modified: trunk/Source/_javascript_Core/b3/B3CheckSpecial.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3CheckSpecial.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3CheckSpecial.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -48,7 +48,7 @@
// - CheckSub(0, x), which turns into BranchNeg32 x.
// - CheckMul(a, b), which turns into Mul32 b, a but we pass Any for a's ValueRep.
-class CheckSpecial : public StackmapSpecial {
+class CheckSpecial final : public StackmapSpecial {
public:
// Support for hash consing these things.
class Key {
@@ -113,9 +113,9 @@
CheckSpecial(Air::Kind, unsigned numArgs, RoleMode stackmapRole = SameAsRep);
CheckSpecial(const Key&);
- ~CheckSpecial();
+ ~CheckSpecial() final;
-protected:
+private:
// Constructs and returns the Inst representing the branch that this will use.
Air::Inst hiddenBranch(const Air::Inst&) const;
@@ -133,7 +133,6 @@
void dumpImpl(PrintStream&) const final;
void deepDumpImpl(PrintStream&) const final;
-private:
Air::Kind m_checkKind;
RoleMode m_stackmapRole;
unsigned m_numCheckArgs;
Modified: trunk/Source/_javascript_Core/b3/B3CheckValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3CheckValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3CheckValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,7 +31,7 @@
namespace JSC { namespace B3 {
-class CheckValue : public StackmapValue {
+class CheckValue final : public StackmapValue {
public:
static bool accepts(Kind kind)
{
@@ -46,7 +46,7 @@
}
}
- ~CheckValue();
+ ~CheckValue() final;
void convertToAdd();
Modified: trunk/Source/_javascript_Core/b3/B3Const32Value.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3Const32Value.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3Const32Value.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -35,7 +35,7 @@
public:
static bool accepts(Kind kind) { return kind == Const32; }
- ~Const32Value();
+ ~Const32Value() override;
int32_t value() const { return m_value; }
Modified: trunk/Source/_javascript_Core/b3/B3Const64Value.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3Const64Value.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3Const64Value.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -35,7 +35,7 @@
public:
static bool accepts(Kind kind) { return kind == Const64; }
- ~Const64Value();
+ ~Const64Value() override;
int64_t value() const { return m_value; }
Modified: trunk/Source/_javascript_Core/b3/B3ConstDoubleValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3ConstDoubleValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3ConstDoubleValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,38 +31,38 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE ConstDoubleValue : public Value {
+class JS_EXPORT_PRIVATE ConstDoubleValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == ConstDouble; }
- ~ConstDoubleValue();
+ ~ConstDoubleValue() final;
double value() const { return m_value; }
- Value* negConstant(Procedure&) const override;
- Value* addConstant(Procedure&, int32_t other) const override;
- Value* addConstant(Procedure&, const Value* other) const override;
- Value* subConstant(Procedure&, const Value* other) const override;
- Value* divConstant(Procedure&, const Value* other) const override;
- Value* modConstant(Procedure&, const Value* other) const override;
- Value* mulConstant(Procedure&, const Value* other) const override;
- Value* bitAndConstant(Procedure&, const Value* other) const override;
- Value* bitOrConstant(Procedure&, const Value* other) const override;
- Value* bitXorConstant(Procedure&, const Value* other) const override;
- Value* bitwiseCastConstant(Procedure&) const override;
- Value* doubleToFloatConstant(Procedure&) const override;
- Value* absConstant(Procedure&) const override;
- Value* ceilConstant(Procedure&) const override;
- Value* floorConstant(Procedure&) const override;
- Value* sqrtConstant(Procedure&) const override;
+ Value* negConstant(Procedure&) const final;
+ Value* addConstant(Procedure&, int32_t other) const final;
+ Value* addConstant(Procedure&, const Value* other) const final;
+ Value* subConstant(Procedure&, const Value* other) const final;
+ Value* divConstant(Procedure&, const Value* other) const final;
+ Value* modConstant(Procedure&, const Value* other) const final;
+ Value* mulConstant(Procedure&, const Value* other) const final;
+ Value* bitAndConstant(Procedure&, const Value* other) const final;
+ Value* bitOrConstant(Procedure&, const Value* other) const final;
+ Value* bitXorConstant(Procedure&, const Value* other) const final;
+ Value* bitwiseCastConstant(Procedure&) const final;
+ Value* doubleToFloatConstant(Procedure&) const final;
+ Value* absConstant(Procedure&) const final;
+ Value* ceilConstant(Procedure&) const final;
+ Value* floorConstant(Procedure&) const final;
+ Value* sqrtConstant(Procedure&) const final;
- TriState equalConstant(const Value* other) const override;
- TriState notEqualConstant(const Value* other) const override;
- TriState lessThanConstant(const Value* other) const override;
- TriState greaterThanConstant(const Value* other) const override;
- TriState lessEqualConstant(const Value* other) const override;
- TriState greaterEqualConstant(const Value* other) const override;
- TriState equalOrUnorderedConstant(const Value* other) const override;
+ TriState equalConstant(const Value* other) const final;
+ TriState notEqualConstant(const Value* other) const final;
+ TriState lessThanConstant(const Value* other) const final;
+ TriState greaterThanConstant(const Value* other) const final;
+ TriState lessEqualConstant(const Value* other) const final;
+ TriState greaterEqualConstant(const Value* other) const final;
+ TriState equalOrUnorderedConstant(const Value* other) const final;
B3_SPECIALIZE_VALUE_FOR_NO_CHILDREN
@@ -70,7 +70,7 @@
friend class Procedure;
friend class Value;
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
static Opcode opcodeFromConstructor(Origin, double) { return ConstDouble; }
Modified: trunk/Source/_javascript_Core/b3/B3ConstFloatValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3ConstFloatValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3ConstFloatValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,37 +31,37 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE ConstFloatValue : public Value {
+class JS_EXPORT_PRIVATE ConstFloatValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == ConstFloat; }
- ~ConstFloatValue();
+ ~ConstFloatValue() final;
float value() const { return m_value; }
- Value* negConstant(Procedure&) const override;
- Value* addConstant(Procedure&, int32_t other) const override;
- Value* addConstant(Procedure&, const Value* other) const override;
- Value* subConstant(Procedure&, const Value* other) const override;
- Value* divConstant(Procedure&, const Value* other) const override;
- Value* mulConstant(Procedure&, const Value* other) const override;
- Value* bitAndConstant(Procedure&, const Value* other) const override;
- Value* bitOrConstant(Procedure&, const Value* other) const override;
- Value* bitXorConstant(Procedure&, const Value* other) const override;
- Value* bitwiseCastConstant(Procedure&) const override;
- Value* floatToDoubleConstant(Procedure&) const override;
- Value* absConstant(Procedure&) const override;
- Value* ceilConstant(Procedure&) const override;
- Value* floorConstant(Procedure&) const override;
- Value* sqrtConstant(Procedure&) const override;
+ Value* negConstant(Procedure&) const final;
+ Value* addConstant(Procedure&, int32_t other) const final;
+ Value* addConstant(Procedure&, const Value* other) const final;
+ Value* subConstant(Procedure&, const Value* other) const final;
+ Value* divConstant(Procedure&, const Value* other) const final;
+ Value* mulConstant(Procedure&, const Value* other) const final;
+ Value* bitAndConstant(Procedure&, const Value* other) const final;
+ Value* bitOrConstant(Procedure&, const Value* other) const final;
+ Value* bitXorConstant(Procedure&, const Value* other) const final;
+ Value* bitwiseCastConstant(Procedure&) const final;
+ Value* floatToDoubleConstant(Procedure&) const final;
+ Value* absConstant(Procedure&) const final;
+ Value* ceilConstant(Procedure&) const final;
+ Value* floorConstant(Procedure&) const final;
+ Value* sqrtConstant(Procedure&) const final;
- TriState equalConstant(const Value* other) const override;
- TriState notEqualConstant(const Value* other) const override;
- TriState lessThanConstant(const Value* other) const override;
- TriState greaterThanConstant(const Value* other) const override;
- TriState lessEqualConstant(const Value* other) const override;
- TriState greaterEqualConstant(const Value* other) const override;
- TriState equalOrUnorderedConstant(const Value* other) const override;
+ TriState equalConstant(const Value* other) const final;
+ TriState notEqualConstant(const Value* other) const final;
+ TriState lessThanConstant(const Value* other) const final;
+ TriState greaterThanConstant(const Value* other) const final;
+ TriState lessEqualConstant(const Value* other) const final;
+ TriState greaterEqualConstant(const Value* other) const final;
+ TriState equalOrUnorderedConstant(const Value* other) const final;
B3_SPECIALIZE_VALUE_FOR_NO_CHILDREN
@@ -69,7 +69,7 @@
friend class Procedure;
friend class Value;
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
static Opcode opcodeFromConstructor(Origin, float) { return ConstFloat; }
Modified: trunk/Source/_javascript_Core/b3/B3DataSection.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3DataSection.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3DataSection.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,15 +31,15 @@
namespace JSC { namespace B3 {
-class DataSection : public OpaqueByproduct {
+class DataSection final : public OpaqueByproduct {
public:
DataSection(size_t size);
- virtual ~DataSection();
+ ~DataSection() final;
void* data() const { return m_data; }
size_t size() const { return m_size; }
- void dump(PrintStream&) const override;
+ void dump(PrintStream&) const final;
private:
void* m_data;
Modified: trunk/Source/_javascript_Core/b3/B3ExtractValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3ExtractValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3ExtractValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -35,7 +35,7 @@
public:
static bool accepts(Kind kind) { return kind == Extract; }
- ~ExtractValue();
+ ~ExtractValue() final;
int32_t index() const { return m_index; }
@@ -43,7 +43,7 @@
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
private:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
static Opcode opcodeFromConstructor(Origin, Type, Value*, int32_t) { return Extract; }
Modified: trunk/Source/_javascript_Core/b3/B3FenceValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3FenceValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3FenceValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,11 +32,11 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE FenceValue : public Value {
+class JS_EXPORT_PRIVATE FenceValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == Fence; }
- ~FenceValue();
+ ~FenceValue() final;
// The read/write heaps are reflected in the effects() of this value. The compiler may change
// the lowering of a Fence based on the heaps. For example, if a fence does not write anything
Modified: trunk/Source/_javascript_Core/b3/B3MemoryValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3MemoryValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3MemoryValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -41,7 +41,7 @@
return isMemoryAccess(kind.opcode());
}
- ~MemoryValue();
+ ~MemoryValue() override;
OffsetType offset() const { return m_offset; }
template<typename Int, typename = IsLegalOffset<Int>>
Modified: trunk/Source/_javascript_Core/b3/B3PatchpointSpecial.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3PatchpointSpecial.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3PatchpointSpecial.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -41,12 +41,12 @@
//
// Patch &patchpoint, result, args...
-class PatchpointSpecial : public StackmapSpecial {
+class PatchpointSpecial final : public StackmapSpecial {
public:
JS_EXPORT_PRIVATE PatchpointSpecial();
- virtual ~PatchpointSpecial();
+ ~PatchpointSpecial() final;
-protected:
+private:
void forEachArg(Air::Inst&, const ScopedLambda<Air::Inst::EachArgCallback>&) final;
bool isValid(Air::Inst&) final;
bool admitsStack(Air::Inst&, unsigned argIndex) final;
Modified: trunk/Source/_javascript_Core/b3/B3PatchpointValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3PatchpointValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3PatchpointValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,13 +33,13 @@
namespace JSC { namespace B3 {
-class PatchpointValue : public StackmapValue {
+class PatchpointValue final : public StackmapValue {
public:
typedef StackmapValue Base;
static bool accepts(Kind kind) { return kind == Patchpoint; }
- ~PatchpointValue();
+ ~PatchpointValue() final;
// The effects of the patchpoint. This defaults to Effects::forCall(), but you can set it to anything.
//
@@ -64,10 +64,9 @@
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_VARARGS_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3SlotBaseValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3SlotBaseValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3SlotBaseValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,11 +33,11 @@
class StackSlot;
-class JS_EXPORT_PRIVATE SlotBaseValue : public Value {
+class JS_EXPORT_PRIVATE SlotBaseValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == SlotBase; }
- ~SlotBaseValue();
+ ~SlotBaseValue() final;
StackSlot* slot() const { return m_slot; }
@@ -47,7 +47,7 @@
friend class Procedure;
friend class Value;
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
static Opcode opcodeFromConstructor(Origin, StackSlot*) { return SlotBase; }
SlotBaseValue(Origin origin, StackSlot* slot)
Modified: trunk/Source/_javascript_Core/b3/B3StackmapSpecial.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3StackmapSpecial.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3StackmapSpecial.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -42,7 +42,7 @@
class StackmapSpecial : public Air::Special {
public:
StackmapSpecial();
- virtual ~StackmapSpecial();
+ ~StackmapSpecial() override;
enum RoleMode : int8_t {
SameAsRep,
Modified: trunk/Source/_javascript_Core/b3/B3StackmapValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3StackmapValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3StackmapValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -61,7 +61,7 @@
}
}
- ~StackmapValue();
+ ~StackmapValue() override;
// Use this to add children.
void append(const ConstrainedValue& value)
Modified: trunk/Source/_javascript_Core/b3/B3SwitchValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3SwitchValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3SwitchValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,11 +33,11 @@
namespace JSC { namespace B3 {
-class SwitchValue : public Value {
+class SwitchValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == Switch; }
- ~SwitchValue();
+ ~SwitchValue() final;
// numCaseValues() + 1 == numSuccessors().
unsigned numCaseValues() const { return m_values.size(); }
@@ -62,15 +62,14 @@
JS_EXPORT_PRIVATE void setFallThrough(const FrequentedBlock&);
JS_EXPORT_PRIVATE void appendCase(const SwitchCase&);
- void dumpSuccessors(const BasicBlock*, PrintStream&) const override;
+ void dumpSuccessors(const BasicBlock*, PrintStream&) const final;
B3_SPECIALIZE_VALUE_FOR_FIXED_CHILDREN(1)
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3UpsilonValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3UpsilonValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3UpsilonValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,11 +31,11 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE UpsilonValue : public Value {
+class JS_EXPORT_PRIVATE UpsilonValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == Upsilon; }
- ~UpsilonValue();
+ ~UpsilonValue() final;
Value* phi() const { return m_phi; }
void setPhi(Value* phi)
@@ -48,10 +48,9 @@
B3_SPECIALIZE_VALUE_FOR_FIXED_CHILDREN(1)
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3VariableValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3VariableValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3VariableValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,11 +33,11 @@
class Variable;
-class JS_EXPORT_PRIVATE VariableValue : public Value {
+class JS_EXPORT_PRIVATE VariableValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == Get || kind == Set; }
- ~VariableValue();
+ ~VariableValue() final;
Variable* variable() const { return m_variable; }
@@ -44,10 +44,9 @@
B3_SPECIALIZE_VALUE_FOR_NON_VARARGS_CHILDREN
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3WasmAddressValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3WasmAddressValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3WasmAddressValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,11 +32,11 @@
namespace JSC { namespace B3 {
-class JS_EXPORT_PRIVATE WasmAddressValue : public Value {
+class JS_EXPORT_PRIVATE WasmAddressValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == WasmAddress; }
- ~WasmAddressValue();
+ ~WasmAddressValue() final;
GPRReg pinnedGPR() const { return m_pinnedGPR; }
@@ -43,10 +43,9 @@
B3_SPECIALIZE_VALUE_FOR_FIXED_CHILDREN(1)
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/B3WasmBoundsCheckValue.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/B3WasmBoundsCheckValue.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/B3WasmBoundsCheckValue.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,11 +32,11 @@
namespace JSC { namespace B3 {
-class WasmBoundsCheckValue : public Value {
+class WasmBoundsCheckValue final : public Value {
public:
static bool accepts(Kind kind) { return kind == WasmBoundsCheck; }
- ~WasmBoundsCheckValue();
+ ~WasmBoundsCheckValue() final;
enum class Type {
Pinned,
@@ -55,10 +55,9 @@
B3_SPECIALIZE_VALUE_FOR_FIXED_CHILDREN(1)
B3_SPECIALIZE_VALUE_FOR_FINAL_SIZE_FIXED_CHILDREN
-protected:
- void dumpMeta(CommaPrinter&, PrintStream&) const override;
+private:
+ void dumpMeta(CommaPrinter&, PrintStream&) const final;
-private:
friend class Procedure;
friend class Value;
Modified: trunk/Source/_javascript_Core/b3/air/AirCCallSpecial.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/air/AirCCallSpecial.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/air/AirCCallSpecial.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -42,10 +42,10 @@
// if we had a call that didn't pass them, then they'd appear to be live until some clobber point or
// the prologue, whichever happened sooner.
-class CCallSpecial : public Special {
+class CCallSpecial final : public Special {
public:
CCallSpecial();
- ~CCallSpecial();
+ ~CCallSpecial() final;
// You cannot use this register to pass arguments. It just so happens that this register is not
// used for arguments in the C calling convention. By the way, this is the only thing that causes
@@ -52,7 +52,7 @@
// this special to be specific to C calls.
static constexpr GPRReg scratchRegister = GPRInfo::nonPreservedNonArgumentGPR0;
-protected:
+private:
void forEachArg(Inst&, const ScopedLambda<Inst::EachArgCallback>&) final;
bool isValid(Inst&) final;
bool admitsStack(Inst&, unsigned argIndex) final;
@@ -65,7 +65,6 @@
void dumpImpl(PrintStream&) const final;
void deepDumpImpl(PrintStream&) const final;
-private:
static constexpr unsigned specialArgOffset = 0;
static constexpr unsigned numSpecialArgs = 1;
static constexpr unsigned calleeArgOffset = numSpecialArgs;
Modified: trunk/Source/_javascript_Core/b3/air/AirPrintSpecial.h (261541 => 261542)
--- trunk/Source/_javascript_Core/b3/air/AirPrintSpecial.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/b3/air/AirPrintSpecial.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -92,10 +92,10 @@
namespace B3 { namespace Air {
-class PrintSpecial : public Special {
+class PrintSpecial final : public Special {
public:
PrintSpecial(Printer::PrintRecordList*);
- ~PrintSpecial();
+ ~PrintSpecial() final;
// You cannot use this register to pass arguments. It just so happens that this register is not
// used for arguments in the C calling convention. By the way, this is the only thing that causes
@@ -102,7 +102,7 @@
// this special to be specific to C calls.
static constexpr GPRReg scratchRegister = GPRInfo::nonArgGPR0;
-protected:
+private:
void forEachArg(Inst&, const ScopedLambda<Inst::EachArgCallback>&) final;
bool isValid(Inst&) final;
bool admitsStack(Inst&, unsigned argIndex) final;
@@ -115,7 +115,6 @@
void dumpImpl(PrintStream&) const final;
void deepDumpImpl(PrintStream&) const final;
-private:
static constexpr unsigned specialArgOffset = 0;
static constexpr unsigned numSpecialArgs = 1;
static constexpr unsigned calleeArgOffset = numSpecialArgs;
Modified: trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -84,7 +84,7 @@
{
}
- virtual ~BytecodeDumper() { }
+ ~BytecodeDumper() override { }
protected:
Block* block() const { return m_block; }
@@ -101,7 +101,7 @@
};
template<class Block>
-class CodeBlockBytecodeDumper : public BytecodeDumper<Block> {
+class CodeBlockBytecodeDumper final : public BytecodeDumper<Block> {
public:
static void dumpBlock(Block*, const InstructionStream&, PrintStream& out, const ICStatusMap& = ICStatusMap());
@@ -127,7 +127,7 @@
struct ModuleInformation;
enum Type : int8_t;
-class BytecodeDumper : public JSC::BytecodeDumper<FunctionCodeBlock> {
+class BytecodeDumper final : public JSC::BytecodeDumper<FunctionCodeBlock> {
public:
static void dumpBlock(FunctionCodeBlock*, const ModuleInformation&, PrintStream& out);
@@ -135,7 +135,7 @@
using JSC::BytecodeDumper<FunctionCodeBlock>::BytecodeDumper;
void dumpConstants();
- CString constantName(VirtualRegister index) const override;
+ CString constantName(VirtualRegister index) const final;
CString formatConstant(Type, uint64_t) const;
};
Modified: trunk/Source/_javascript_Core/bytecode/GetterSetterAccessCase.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/GetterSetterAccessCase.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/GetterSetterAccessCase.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,7 +32,7 @@
namespace JSC {
-class GetterSetterAccessCase : public ProxyableAccessCase {
+class GetterSetterAccessCase final : public ProxyableAccessCase {
public:
typedef ProxyableAccessCase Base;
friend class AccessCase;
@@ -48,8 +48,8 @@
JSObject* customSlotBase() const { return m_customSlotBase.get(); }
Optional<DOMAttributeAnnotation> domAttribute() const { return m_domAttribute; }
- bool hasAlternateBase() const override;
- JSObject* alternateBase() const override;
+ bool hasAlternateBase() const final;
+ JSObject* alternateBase() const final;
void emitDOMJITGetter(AccessGenerationState&, const DOMJIT::GetterSetter*, GPRReg baseForGetGPR);
@@ -62,10 +62,10 @@
const ObjectPropertyConditionSet&, std::unique_ptr<PolyProtoAccessChain>,
FunctionPtr<OperationPtrTag> customSetter = nullptr, JSObject* customSlotBase = nullptr);
- void dumpImpl(PrintStream&, CommaPrinter&) const override;
- std::unique_ptr<AccessCase> clone() const override;
+ void dumpImpl(PrintStream&, CommaPrinter&) const final;
+ std::unique_ptr<AccessCase> clone() const final;
- ~GetterSetterAccessCase();
+ ~GetterSetterAccessCase() final;
FunctionPtr<OperationPtrTag> customAccessor() const { return m_customAccessor; }
Modified: trunk/Source/_javascript_Core/bytecode/InstanceOfAccessCase.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/InstanceOfAccessCase.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/InstanceOfAccessCase.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,7 +31,7 @@
namespace JSC {
-class InstanceOfAccessCase : public AccessCase {
+class InstanceOfAccessCase final : public AccessCase {
public:
using Base = AccessCase;
@@ -41,17 +41,16 @@
JSObject* prototype() const { return m_prototype.get(); }
- void dumpImpl(PrintStream&, CommaPrinter&) const override;
- std::unique_ptr<AccessCase> clone() const override;
+ void dumpImpl(PrintStream&, CommaPrinter&) const final;
+ std::unique_ptr<AccessCase> clone() const final;
- ~InstanceOfAccessCase();
+ ~InstanceOfAccessCase() final;
-protected:
+private:
InstanceOfAccessCase(
VM&, JSCell*, AccessType, Structure*, const ObjectPropertyConditionSet&,
JSObject* prototype);
-private:
WriteBarrier<JSObject> m_prototype;
};
Modified: trunk/Source/_javascript_Core/bytecode/IntrinsicGetterAccessCase.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/IntrinsicGetterAccessCase.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/IntrinsicGetterAccessCase.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,7 +31,7 @@
namespace JSC {
-class IntrinsicGetterAccessCase : public AccessCase {
+class IntrinsicGetterAccessCase final : public AccessCase {
public:
typedef AccessCase Base;
friend class AccessCase;
@@ -44,9 +44,9 @@
static std::unique_ptr<AccessCase> create(VM&, JSCell*, CacheableIdentifier, PropertyOffset, Structure*, const ObjectPropertyConditionSet&, JSFunction* intrinsicFunction, std::unique_ptr<PolyProtoAccessChain>);
- std::unique_ptr<AccessCase> clone() const override;
+ std::unique_ptr<AccessCase> clone() const final;
- ~IntrinsicGetterAccessCase();
+ ~IntrinsicGetterAccessCase() final;
private:
IntrinsicGetterAccessCase(VM&, JSCell*, CacheableIdentifier, PropertyOffset, Structure*, const ObjectPropertyConditionSet&, JSFunction* intrinsicFunction, std::unique_ptr<PolyProtoAccessChain>);
Modified: trunk/Source/_javascript_Core/bytecode/ModuleNamespaceAccessCase.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/ModuleNamespaceAccessCase.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/ModuleNamespaceAccessCase.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -35,7 +35,7 @@
class JSModuleEnvironment;
class JSModuleNamespaceObject;
-class ModuleNamespaceAccessCase : public AccessCase {
+class ModuleNamespaceAccessCase final : public AccessCase {
public:
using Base = AccessCase;
friend class AccessCase;
@@ -46,11 +46,11 @@
static std::unique_ptr<AccessCase> create(VM&, JSCell* owner, CacheableIdentifier, JSModuleNamespaceObject*, JSModuleEnvironment*, ScopeOffset);
- std::unique_ptr<AccessCase> clone() const override;
+ std::unique_ptr<AccessCase> clone() const final;
void emit(AccessGenerationState&, MacroAssembler::JumpList& fallThrough);
- ~ModuleNamespaceAccessCase();
+ ~ModuleNamespaceAccessCase() final;
private:
ModuleNamespaceAccessCase(VM&, JSCell* owner, CacheableIdentifier, JSModuleNamespaceObject*, JSModuleEnvironment*, ScopeOffset);
Modified: trunk/Source/_javascript_Core/bytecode/ProxyableAccessCase.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/ProxyableAccessCase.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/ProxyableAccessCase.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -43,7 +43,7 @@
void dumpImpl(PrintStream&, CommaPrinter&) const override;
std::unique_ptr<AccessCase> clone() const override;
- ~ProxyableAccessCase();
+ ~ProxyableAccessCase() override;
protected:
ProxyableAccessCase(VM&, JSCell*, AccessType, CacheableIdentifier, PropertyOffset, Structure*, const ObjectPropertyConditionSet&, bool viaProxy, WatchpointSet* additionalSet, std::unique_ptr<PolyProtoAccessChain>);
Modified: trunk/Source/_javascript_Core/bytecode/Watchpoint.h (261541 => 261542)
--- trunk/Source/_javascript_Core/bytecode/Watchpoint.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/bytecode/Watchpoint.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -533,7 +533,7 @@
WTF_MAKE_NONCOPYABLE(DeferredWatchpointFire);
public:
JS_EXPORT_PRIVATE DeferredWatchpointFire(VM&);
- JS_EXPORT_PRIVATE ~DeferredWatchpointFire();
+ JS_EXPORT_PRIVATE ~DeferredWatchpointFire() override;
JS_EXPORT_PRIVATE void takeWatchpointsToFire(WatchpointSet*);
JS_EXPORT_PRIVATE void fireAll();
Modified: trunk/Source/_javascript_Core/dfg/DFGFailedFinalizer.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGFailedFinalizer.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGFailedFinalizer.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,14 +31,14 @@
namespace JSC { namespace DFG {
-class FailedFinalizer : public Finalizer {
+class FailedFinalizer final : public Finalizer {
public:
FailedFinalizer(Plan&);
- virtual ~FailedFinalizer();
+ ~FailedFinalizer() final;
- size_t codeSize() override;
- bool finalize() override;
- bool finalizeFunction() override;
+ size_t codeSize() final;
+ bool finalize() final;
+ bool finalizeFunction() final;
};
} } // namespace JSC::DFG
Modified: trunk/Source/_javascript_Core/dfg/DFGGraph.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGGraph.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGGraph.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -159,10 +159,10 @@
//
// The order may be significant for nodes with side-effects (property accesses, value conversions).
// Nodes that are 'dead' remain in the vector with refCount 0.
-class Graph : public virtual Scannable {
+class Graph final : public virtual Scannable {
public:
Graph(VM&, Plan&);
- ~Graph();
+ ~Graph() final;
void changeChild(Edge& edge, Node* newNode)
{
@@ -1001,7 +1001,7 @@
void registerFrozenValues();
- void visitChildren(SlotVisitor&) override;
+ void visitChildren(SlotVisitor&) final;
void logAssertionFailure(
std::nullptr_t, const char* file, int line, const char* function,
Modified: trunk/Source/_javascript_Core/dfg/DFGJITCode.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGJITCode.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGJITCode.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -46,13 +46,13 @@
class JITCompiler;
-class JITCode : public DirectJITCode {
+class JITCode final : public DirectJITCode {
public:
JITCode();
- virtual ~JITCode();
+ ~JITCode() final;
- CommonData* dfgCommon() override;
- JITCode* dfg() override;
+ CommonData* dfgCommon() final;
+ JITCode* dfg() final;
OSREntryData* appendOSREntryData(BytecodeIndex bytecodeIndex, CodeLocationLabel<OSREntryPtrTag> machineCode)
{
@@ -113,11 +113,11 @@
void setOptimizationThresholdBasedOnCompilationResult(CodeBlock*, CompilationResult);
#endif // ENABLE(FTL_JIT)
- void validateReferences(const TrackedReferences&) override;
+ void validateReferences(const TrackedReferences&) final;
- void shrinkToFit(const ConcurrentJSLocker&) override;
+ void shrinkToFit(const ConcurrentJSLocker&) final;
- RegisterSet liveRegistersToPreserveAtExceptionHandlingCallSite(CodeBlock*, CallSiteIndex) override;
+ RegisterSet liveRegistersToPreserveAtExceptionHandlingCallSite(CodeBlock*, CallSiteIndex) final;
#if ENABLE(FTL_JIT)
CodeBlock* osrEntryBlock() { return m_osrEntryBlock.get(); }
void setOSREntryBlock(VM&, const JSCell* owner, CodeBlock* osrEntryBlock);
@@ -126,7 +126,7 @@
static ptrdiff_t commonDataOffset() { return OBJECT_OFFSETOF(JITCode, common); }
- Optional<CodeOrigin> findPC(CodeBlock*, void* pc) override;
+ Optional<CodeOrigin> findPC(CodeBlock*, void* pc) final;
using DirectJITCode::initializeCodeRefForDFG;
Modified: trunk/Source/_javascript_Core/dfg/DFGJITFinalizer.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGJITFinalizer.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGJITFinalizer.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,14 +33,14 @@
namespace JSC { namespace DFG {
-class JITFinalizer : public Finalizer {
+class JITFinalizer final : public Finalizer {
public:
JITFinalizer(Plan&, Ref<JITCode>&&, std::unique_ptr<LinkBuffer>, MacroAssemblerCodePtr<JSEntryPtrTag> withArityCheck = MacroAssemblerCodePtr<JSEntryPtrTag>(MacroAssemblerCodePtr<JSEntryPtrTag>::EmptyValue));
- virtual ~JITFinalizer();
+ ~JITFinalizer() final;
- size_t codeSize() override;
- bool finalize() override;
- bool finalizeFunction() override;
+ size_t codeSize() final;
+ bool finalize() final;
+ bool finalizeFunction() final;
private:
void finalizeCommon();
Modified: trunk/Source/_javascript_Core/dfg/DFGToFTLDeferredCompilationCallback.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGToFTLDeferredCompilationCallback.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGToFTLDeferredCompilationCallback.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -36,17 +36,17 @@
namespace DFG {
-class ToFTLDeferredCompilationCallback : public DeferredCompilationCallback {
-protected:
- ToFTLDeferredCompilationCallback();
-
+class ToFTLDeferredCompilationCallback final : public DeferredCompilationCallback {
public:
- virtual ~ToFTLDeferredCompilationCallback();
+ ~ToFTLDeferredCompilationCallback() final;
static Ref<ToFTLDeferredCompilationCallback> create();
- virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock);
- virtual void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult);
+ void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock) final;
+ void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult) final;
+
+private:
+ ToFTLDeferredCompilationCallback();
};
} } // namespace JSC::DFG
Modified: trunk/Source/_javascript_Core/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h (261541 => 261542)
--- trunk/Source/_javascript_Core/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -37,19 +37,18 @@
namespace DFG {
-class ToFTLForOSREntryDeferredCompilationCallback : public DeferredCompilationCallback {
-protected:
- ToFTLForOSREntryDeferredCompilationCallback(JITCode::TriggerReason* forcedOSREntryTrigger);
-
+class ToFTLForOSREntryDeferredCompilationCallback final : public DeferredCompilationCallback {
public:
- virtual ~ToFTLForOSREntryDeferredCompilationCallback();
+ ~ToFTLForOSREntryDeferredCompilationCallback() final;
static Ref<ToFTLForOSREntryDeferredCompilationCallback> create(JITCode::TriggerReason* forcedOSREntryTrigger);
-
- virtual void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock);
- virtual void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult);
+ void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock) final;
+ void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult) final;
+
private:
+ ToFTLForOSREntryDeferredCompilationCallback(JITCode::TriggerReason* forcedOSREntryTrigger);
+
JITCode::TriggerReason* m_forcedOSREntryTrigger;
};
Modified: trunk/Source/_javascript_Core/ftl/FTLForOSREntryJITCode.h (261541 => 261542)
--- trunk/Source/_javascript_Core/ftl/FTLForOSREntryJITCode.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/ftl/FTLForOSREntryJITCode.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -40,10 +40,10 @@
//
// - Each OSR entry compilation allows entry through only one bytecode index.
-class ForOSREntryJITCode : public FTL::JITCode {
+class ForOSREntryJITCode final : public FTL::JITCode {
public:
ForOSREntryJITCode();
- ~ForOSREntryJITCode();
+ ~ForOSREntryJITCode() final;
void initializeEntryBuffer(VM&, unsigned numCalleeLocals);
ScratchBuffer* entryBuffer() const { return m_entryBuffer; }
@@ -54,7 +54,7 @@
void countEntryFailure() { m_entryFailureCount++; }
unsigned entryFailureCount() const { return m_entryFailureCount; }
- ForOSREntryJITCode* ftlForOSREntry();
+ ForOSREntryJITCode* ftlForOSREntry() final;
private:
ScratchBuffer* m_entryBuffer; // Only for OSR entry code blocks.
Modified: trunk/Source/_javascript_Core/ftl/FTLJITCode.h (261541 => 261542)
--- trunk/Source/_javascript_Core/ftl/FTLJITCode.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/ftl/FTLJITCode.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -42,7 +42,7 @@
class JITCode : public JSC::JITCode {
public:
JITCode();
- ~JITCode();
+ ~JITCode() override;
CodePtr<JSEntryPtrTag> addressForCall(ArityCheckMode) override;
void* executableAddressAtOffset(size_t offset) override;
Modified: trunk/Source/_javascript_Core/ftl/FTLJITFinalizer.h (261541 => 261542)
--- trunk/Source/_javascript_Core/ftl/FTLJITFinalizer.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/ftl/FTLJITFinalizer.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -47,14 +47,14 @@
const char* m_codeDescription;
};
-class JITFinalizer : public DFG::Finalizer {
+class JITFinalizer final : public DFG::Finalizer {
public:
JITFinalizer(DFG::Plan&);
- virtual ~JITFinalizer();
+ ~JITFinalizer() final;
- size_t codeSize() override;
- bool finalize() override;
- bool finalizeFunction() override;
+ size_t codeSize() final;
+ bool finalize() final;
+ bool finalizeFunction() final;
bool finalizeCommon();
Modified: trunk/Source/_javascript_Core/heap/CompleteSubspace.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/CompleteSubspace.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/CompleteSubspace.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -29,10 +29,10 @@
namespace JSC {
-class CompleteSubspace : public Subspace {
+class CompleteSubspace final : public Subspace {
public:
JS_EXPORT_PRIVATE CompleteSubspace(CString name, Heap&, HeapCellType*, AlignedMemoryAllocator*);
- JS_EXPORT_PRIVATE ~CompleteSubspace();
+ JS_EXPORT_PRIVATE ~CompleteSubspace() final;
// In some code paths, we need it to be a compile error to call the virtual version of one of
// these functions. That's why we do final methods the old school way.
@@ -39,10 +39,10 @@
// FIXME: Currently subspaces speak of BlockDirectories as "allocators", but that's temporary.
// https://bugs.webkit.org/show_bug.cgi?id=181559
- Allocator allocatorFor(size_t, AllocatorForMode) override;
+ Allocator allocatorFor(size_t, AllocatorForMode) final;
Allocator allocatorForNonVirtual(size_t, AllocatorForMode);
- void* allocate(VM&, size_t, GCDeferralContext*, AllocationFailureMode) override;
+ void* allocate(VM&, size_t, GCDeferralContext*, AllocationFailureMode) final;
void* allocateNonVirtual(VM&, size_t, GCDeferralContext*, AllocationFailureMode);
void* reallocatePreciseAllocationNonVirtual(VM&, HeapCell*, size_t, GCDeferralContext*, AllocationFailureMode);
Modified: trunk/Source/_javascript_Core/heap/FastMallocAlignedMemoryAllocator.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/FastMallocAlignedMemoryAllocator.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/FastMallocAlignedMemoryAllocator.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,19 +33,19 @@
namespace JSC {
-class FastMallocAlignedMemoryAllocator : public AlignedMemoryAllocator {
+class FastMallocAlignedMemoryAllocator final : public AlignedMemoryAllocator {
public:
FastMallocAlignedMemoryAllocator();
- ~FastMallocAlignedMemoryAllocator();
+ ~FastMallocAlignedMemoryAllocator() final;
- void* tryAllocateAlignedMemory(size_t alignment, size_t size) override;
- void freeAlignedMemory(void*) override;
+ void* tryAllocateAlignedMemory(size_t alignment, size_t size) final;
+ void freeAlignedMemory(void*) final;
- void dump(PrintStream&) const override;
+ void dump(PrintStream&) const final;
- void* tryAllocateMemory(size_t) override;
- void freeMemory(void*) override;
- void* tryReallocateMemory(void*, size_t) override;
+ void* tryAllocateMemory(size_t) final;
+ void freeMemory(void*) final;
+ void* tryReallocateMemory(void*, size_t) final;
#if ENABLE(MALLOC_HEAP_BREAKDOWN)
private:
Modified: trunk/Source/_javascript_Core/heap/GigacageAlignedMemoryAllocator.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/GigacageAlignedMemoryAllocator.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/GigacageAlignedMemoryAllocator.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -34,19 +34,19 @@
namespace JSC {
-class GigacageAlignedMemoryAllocator : public AlignedMemoryAllocator {
+class GigacageAlignedMemoryAllocator final : public AlignedMemoryAllocator {
public:
GigacageAlignedMemoryAllocator(Gigacage::Kind);
- ~GigacageAlignedMemoryAllocator();
+ ~GigacageAlignedMemoryAllocator() final;
- void* tryAllocateAlignedMemory(size_t alignment, size_t size) override;
- void freeAlignedMemory(void*) override;
+ void* tryAllocateAlignedMemory(size_t alignment, size_t size) final;
+ void freeAlignedMemory(void*) final;
- void dump(PrintStream&) const override;
+ void dump(PrintStream&) const final;
- void* tryAllocateMemory(size_t) override;
- void freeMemory(void*) override;
- void* tryReallocateMemory(void*, size_t) override;
+ void* tryAllocateMemory(size_t) final;
+ void freeMemory(void*) final;
+ void* tryReallocateMemory(void*, size_t) final;
private:
Gigacage::Kind m_kind;
Modified: trunk/Source/_javascript_Core/heap/HeapSnapshotBuilder.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/HeapSnapshotBuilder.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/HeapSnapshotBuilder.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -108,7 +108,7 @@
enum SnapshotType { InspectorSnapshot, GCDebuggingSnapshot };
HeapSnapshotBuilder(HeapProfiler&, SnapshotType = SnapshotType::InspectorSnapshot);
- ~HeapSnapshotBuilder();
+ ~HeapSnapshotBuilder() final;
static void resetNextAvailableObjectIdentifier();
@@ -116,17 +116,17 @@
void buildSnapshot();
// A root or marked cell.
- void analyzeNode(JSCell*);
+ void analyzeNode(JSCell*) final;
// A reference from one cell to another.
- void analyzeEdge(JSCell* from, JSCell* to, SlotVisitor::RootMarkReason);
- void analyzePropertyNameEdge(JSCell* from, JSCell* to, UniquedStringImpl* propertyName);
- void analyzeVariableNameEdge(JSCell* from, JSCell* to, UniquedStringImpl* variableName);
- void analyzeIndexEdge(JSCell* from, JSCell* to, uint32_t index);
+ void analyzeEdge(JSCell* from, JSCell* to, SlotVisitor::RootMarkReason) final;
+ void analyzePropertyNameEdge(JSCell* from, JSCell* to, UniquedStringImpl* propertyName) final;
+ void analyzeVariableNameEdge(JSCell* from, JSCell* to, UniquedStringImpl* variableName) final;
+ void analyzeIndexEdge(JSCell* from, JSCell* to, uint32_t index) final;
- void setOpaqueRootReachabilityReasonForCell(JSCell*, const char*);
- void setWrappedObjectForCell(JSCell*, void*);
- void setLabelForCell(JSCell*, const String&);
+ void setOpaqueRootReachabilityReasonForCell(JSCell*, const char*) final;
+ void setWrappedObjectForCell(JSCell*, void*) final;
+ void setLabelForCell(JSCell*, const String&) final;
String json();
String json(Function<bool (const HeapSnapshotNode&)> allowNodeCallback);
Modified: trunk/Source/_javascript_Core/heap/IsoAlignedMemoryAllocator.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/IsoAlignedMemoryAllocator.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/IsoAlignedMemoryAllocator.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -34,19 +34,19 @@
namespace JSC {
-class IsoAlignedMemoryAllocator : public AlignedMemoryAllocator {
+class IsoAlignedMemoryAllocator final : public AlignedMemoryAllocator {
public:
IsoAlignedMemoryAllocator(CString);
- ~IsoAlignedMemoryAllocator();
+ ~IsoAlignedMemoryAllocator() final;
- void* tryAllocateAlignedMemory(size_t alignment, size_t size) override;
- void freeAlignedMemory(void*) override;
+ void* tryAllocateAlignedMemory(size_t alignment, size_t size) final;
+ void freeAlignedMemory(void*) final;
- void dump(PrintStream&) const override;
+ void dump(PrintStream&) const final;
- void* tryAllocateMemory(size_t) override;
- void freeMemory(void*) override;
- void* tryReallocateMemory(void*, size_t) override;
+ void* tryAllocateMemory(size_t) final;
+ void freeMemory(void*) final;
+ void* tryReallocateMemory(void*, size_t) final;
private:
#if ENABLE(MALLOC_HEAP_BREAKDOWN)
Modified: trunk/Source/_javascript_Core/heap/IsoSubspace.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/IsoSubspace.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/IsoSubspace.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -38,7 +38,7 @@
class IsoSubspace : public Subspace {
public:
JS_EXPORT_PRIVATE IsoSubspace(CString name, Heap&, HeapCellType*, size_t size, uint8_t numberOfLowerTierCells);
- JS_EXPORT_PRIVATE ~IsoSubspace();
+ JS_EXPORT_PRIVATE ~IsoSubspace() override;
size_t cellSize() { return m_directory.cellSize(); }
Modified: trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.cpp (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.cpp 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.cpp 2020-05-12 03:04:10 UTC (rev 261542)
@@ -31,7 +31,7 @@
namespace JSC {
-class IsoSubspacePerVM::AutoremovingIsoSubspace : public IsoSubspace {
+class IsoSubspacePerVM::AutoremovingIsoSubspace final : public IsoSubspace {
public:
AutoremovingIsoSubspace(IsoSubspacePerVM& perVM, CString name, Heap& heap, HeapCellType* heapCellType, size_t size)
: IsoSubspace(name, heap, heapCellType, size, /* numberOfLowerTierCells */ 0)
@@ -39,7 +39,7 @@
{
}
- ~AutoremovingIsoSubspace()
+ ~AutoremovingIsoSubspace() final
{
auto locker = holdLock(m_perVM.m_lock);
m_perVM.m_subspacePerVM.remove(&space().heap().vm());
Modified: trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/IsoSubspacePerVM.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -36,7 +36,7 @@
// sure to be main-thread-only. But if a class typically gets instantiated from multiple threads at
// once, then this is not great, because concurrent allocations will probably contend on this thing's
// lock.
-class IsoSubspacePerVM {
+class IsoSubspacePerVM final {
public:
struct SubspaceParameters {
SubspaceParameters() { }
Modified: trunk/Source/_javascript_Core/heap/MarkStackMergingConstraint.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/MarkStackMergingConstraint.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/MarkStackMergingConstraint.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -32,18 +32,17 @@
class Heap;
class SlotVisitor;
-class MarkStackMergingConstraint : public MarkingConstraint {
+class MarkStackMergingConstraint final : public MarkingConstraint {
public:
MarkStackMergingConstraint(Heap&);
- ~MarkStackMergingConstraint();
+ ~MarkStackMergingConstraint() final;
- double quickWorkEstimate(SlotVisitor&) override;
+ double quickWorkEstimate(SlotVisitor&) final;
-protected:
- void prepareToExecuteImpl(const AbstractLocker& constraintSolvingLocker, SlotVisitor&) override;
- void executeImpl(SlotVisitor&) override;
+private:
+ void prepareToExecuteImpl(const AbstractLocker& constraintSolvingLocker, SlotVisitor&) final;
+ void executeImpl(SlotVisitor&) final;
-private:
Heap& m_heap;
};
Modified: trunk/Source/_javascript_Core/heap/SimpleMarkingConstraint.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/SimpleMarkingConstraint.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/SimpleMarkingConstraint.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,7 +33,7 @@
// This allows for an informal way to define constraints. Just pass a lambda to the constructor. The only
// downside is that this makes it hard for constraints to override any functions in MarkingConstraint
// other than executeImpl. In those cases, just subclass MarkingConstraint.
-class SimpleMarkingConstraint : public MarkingConstraint {
+class SimpleMarkingConstraint final : public MarkingConstraint {
public:
JS_EXPORT_PRIVATE SimpleMarkingConstraint(
CString abbreviatedName, CString name,
@@ -51,10 +51,10 @@
{
}
- JS_EXPORT_PRIVATE ~SimpleMarkingConstraint();
+ JS_EXPORT_PRIVATE ~SimpleMarkingConstraint() final;
private:
- void executeImpl(SlotVisitor&) override;
+ void executeImpl(SlotVisitor&) final;
::Function<void(SlotVisitor&)> m_executeFunction;
};
Modified: trunk/Source/_javascript_Core/heap/SpaceTimeMutatorScheduler.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/SpaceTimeMutatorScheduler.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/SpaceTimeMutatorScheduler.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -38,25 +38,25 @@
// that the world is paused for to the amount of space that the world allocated since the GC cycle
// began.
-class SpaceTimeMutatorScheduler : public MutatorScheduler {
+class SpaceTimeMutatorScheduler final : public MutatorScheduler {
public:
SpaceTimeMutatorScheduler(Heap&);
- ~SpaceTimeMutatorScheduler();
+ ~SpaceTimeMutatorScheduler() final;
- State state() const override;
+ State state() const final;
- void beginCollection() override;
+ void beginCollection() final;
- void didStop() override;
- void willResume() override;
- void didExecuteConstraints() override;
+ void didStop() final;
+ void willResume() final;
+ void didExecuteConstraints() final;
- MonotonicTime timeToStop() override;
- MonotonicTime timeToResume() override;
+ MonotonicTime timeToStop() final;
+ MonotonicTime timeToResume() final;
- void log() override;
+ void log() final;
- void endCollection() override;
+ void endCollection() final;
private:
class Snapshot;
Modified: trunk/Source/_javascript_Core/heap/StochasticSpaceTimeMutatorScheduler.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/StochasticSpaceTimeMutatorScheduler.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/StochasticSpaceTimeMutatorScheduler.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -39,27 +39,27 @@
// that the world is paused for to the amount of space that the world allocated since the GC cycle
// began.
-class StochasticSpaceTimeMutatorScheduler : public MutatorScheduler {
+class StochasticSpaceTimeMutatorScheduler final : public MutatorScheduler {
public:
StochasticSpaceTimeMutatorScheduler(Heap&);
- ~StochasticSpaceTimeMutatorScheduler();
+ ~StochasticSpaceTimeMutatorScheduler() final;
- State state() const override;
+ State state() const final;
- void beginCollection() override;
+ void beginCollection() final;
- void didStop() override;
- void willResume() override;
- void didReachTermination() override;
- void didExecuteConstraints() override;
- void synchronousDrainingDidStall() override;
+ void didStop() final;
+ void willResume() final;
+ void didReachTermination() final;
+ void didExecuteConstraints() final;
+ void synchronousDrainingDidStall() final;
- MonotonicTime timeToStop() override;
- MonotonicTime timeToResume() override;
+ MonotonicTime timeToStop() final;
+ MonotonicTime timeToResume() final;
- void log() override;
+ void log() final;
- void endCollection() override;
+ void endCollection() final;
private:
class Snapshot;
Modified: trunk/Source/_javascript_Core/heap/SynchronousStopTheWorldMutatorScheduler.h (261541 => 261542)
--- trunk/Source/_javascript_Core/heap/SynchronousStopTheWorldMutatorScheduler.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/heap/SynchronousStopTheWorldMutatorScheduler.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -35,19 +35,19 @@
// than X86-64 and ARM64. This scheduler is a drop-in replacement for the concurrent GC's
// SpaceTimeMutatorScheduler. It tells the GC to never resume the world once the GC cycle begins.
-class SynchronousStopTheWorldMutatorScheduler : public MutatorScheduler {
+class SynchronousStopTheWorldMutatorScheduler final : public MutatorScheduler {
public:
SynchronousStopTheWorldMutatorScheduler();
- ~SynchronousStopTheWorldMutatorScheduler();
+ ~SynchronousStopTheWorldMutatorScheduler() final;
- State state() const override;
+ State state() const final;
- void beginCollection() override;
+ void beginCollection() final;
- MonotonicTime timeToStop() override;
- MonotonicTime timeToResume() override;
+ MonotonicTime timeToStop() final;
+ MonotonicTime timeToResume() final;
- void endCollection() override;
+ void endCollection() final;
private:
State m_state { Normal };
Modified: trunk/Source/_javascript_Core/jit/GCAwareJITStubRoutine.h (261541 => 261542)
--- trunk/Source/_javascript_Core/jit/GCAwareJITStubRoutine.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jit/GCAwareJITStubRoutine.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -51,7 +51,7 @@
class GCAwareJITStubRoutine : public JITStubRoutine {
public:
GCAwareJITStubRoutine(const MacroAssemblerCodeRef<JITStubRoutinePtrTag>&, VM&);
- virtual ~GCAwareJITStubRoutine();
+ ~GCAwareJITStubRoutine() override;
static Ref<JITStubRoutine> create(const MacroAssemblerCodeRef<JITStubRoutinePtrTag>& code, VM& vm)
{
@@ -83,7 +83,7 @@
public:
MarkingGCAwareJITStubRoutine(
const MacroAssemblerCodeRef<JITStubRoutinePtrTag>&, VM&, const JSCell* owner, const Vector<JSCell*>&, Bag<CallLinkInfo>&&);
- virtual ~MarkingGCAwareJITStubRoutine();
+ ~MarkingGCAwareJITStubRoutine() override;
protected:
void markRequiredObjectsInternal(SlotVisitor&) override;
@@ -97,14 +97,14 @@
// The stub has exception handlers in it. So it clears itself from exception
// handling table when it dies. It also frees space in CodeOrigin table
// for new exception handlers to use the same DisposableCallSiteIndex.
-class GCAwareJITStubRoutineWithExceptionHandler : public MarkingGCAwareJITStubRoutine {
+class GCAwareJITStubRoutineWithExceptionHandler final : public MarkingGCAwareJITStubRoutine {
public:
typedef GCAwareJITStubRoutine Base;
GCAwareJITStubRoutineWithExceptionHandler(const MacroAssemblerCodeRef<JITStubRoutinePtrTag>&, VM&, const JSCell* owner, const Vector<JSCell*>&, Bag<CallLinkInfo>&&, CodeBlock*, DisposableCallSiteIndex);
- void aboutToDie() override;
- void observeZeroRefCount() override;
+ void aboutToDie() final;
+ void observeZeroRefCount() final;
private:
CodeBlock* m_codeBlockWithExceptionHandler;
Modified: trunk/Source/_javascript_Core/jit/JITCode.h (261541 => 261542)
--- trunk/Source/_javascript_Core/jit/JITCode.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jit/JITCode.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -226,7 +226,7 @@
JITCodeWithCodeRef(CodeRef<JSEntryPtrTag>, JITType, JITCode::ShareAttribute);
public:
- virtual ~JITCodeWithCodeRef();
+ ~JITCodeWithCodeRef() override;
void* executableAddressAtOffset(size_t offset) override;
void* dataAddressAtOffset(size_t offset) override;
@@ -245,7 +245,7 @@
DirectJITCode(JITType);
DirectJITCode(CodeRef<JSEntryPtrTag>, CodePtr<JSEntryPtrTag> withArityCheck, JITType, JITCode::ShareAttribute = JITCode::ShareAttribute::NotShared);
DirectJITCode(CodeRef<JSEntryPtrTag>, CodePtr<JSEntryPtrTag> withArityCheck, JITType, Intrinsic, JITCode::ShareAttribute = JITCode::ShareAttribute::NotShared); // For generated thunk.
- virtual ~DirectJITCode();
+ ~DirectJITCode() override;
CodePtr<JSEntryPtrTag> addressForCall(ArityCheckMode) override;
@@ -260,7 +260,7 @@
public:
NativeJITCode(JITType);
NativeJITCode(CodeRef<JSEntryPtrTag>, JITType, Intrinsic, JITCode::ShareAttribute = JITCode::ShareAttribute::NotShared);
- virtual ~NativeJITCode();
+ ~NativeJITCode() override;
CodePtr<JSEntryPtrTag> addressForCall(ArityCheckMode) override;
};
@@ -268,9 +268,9 @@
class NativeDOMJITCode final : public NativeJITCode {
public:
NativeDOMJITCode(CodeRef<JSEntryPtrTag>, JITType, Intrinsic, const DOMJIT::Signature*);
- virtual ~NativeDOMJITCode() = default;
+ ~NativeDOMJITCode() final = default;
- const DOMJIT::Signature* signature() const override { return m_signature; }
+ const DOMJIT::Signature* signature() const final { return m_signature; }
private:
const DOMJIT::Signature* m_signature;
Modified: trunk/Source/_javascript_Core/jit/JITThunks.h (261541 => 261542)
--- trunk/Source/_javascript_Core/jit/JITThunks.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jit/JITThunks.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -50,7 +50,7 @@
WTF_MAKE_FAST_ALLOCATED;
public:
JITThunks();
- virtual ~JITThunks();
+ ~JITThunks() final;
MacroAssemblerCodePtr<JITThunkPtrTag> ctiNativeCall(VM&);
MacroAssemblerCodePtr<JITThunkPtrTag> ctiNativeConstruct(VM&);
@@ -67,7 +67,7 @@
NativeExecutable* hostFunctionStub(VM&, TaggedNativeFunction, ThunkGenerator, Intrinsic, const String& name);
private:
- void finalize(Handle<Unknown>, void* context) override;
+ void finalize(Handle<Unknown>, void* context) final;
typedef HashMap<ThunkGenerator, MacroAssemblerCodeRef<JITThunkPtrTag>> CTIStubMap;
CTIStubMap m_ctiStubMap;
Modified: trunk/Source/_javascript_Core/jit/JITToDFGDeferredCompilationCallback.h (261541 => 261542)
--- trunk/Source/_javascript_Core/jit/JITToDFGDeferredCompilationCallback.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jit/JITToDFGDeferredCompilationCallback.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -33,17 +33,17 @@
class ScriptExecutable;
-class JITToDFGDeferredCompilationCallback : public DeferredCompilationCallback {
-protected:
- JITToDFGDeferredCompilationCallback();
-
+class JITToDFGDeferredCompilationCallback final : public DeferredCompilationCallback {
public:
- virtual ~JITToDFGDeferredCompilationCallback();
+ ~JITToDFGDeferredCompilationCallback() final;
static Ref<JITToDFGDeferredCompilationCallback> create();
- void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock) override;
- void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult) override;
+ void compilationDidBecomeReadyAsynchronously(CodeBlock*, CodeBlock* profiledDFGCodeBlock) final;
+ void compilationDidComplete(CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationResult) final;
+
+private:
+ JITToDFGDeferredCompilationCallback();
};
} // namespace JSC
Modified: trunk/Source/_javascript_Core/jit/PolymorphicCallStubRoutine.h (261541 => 261542)
--- trunk/Source/_javascript_Core/jit/PolymorphicCallStubRoutine.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jit/PolymorphicCallStubRoutine.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -80,7 +80,7 @@
CodeBlock* m_codeBlock;
};
-class PolymorphicCallStubRoutine : public GCAwareJITStubRoutine {
+class PolymorphicCallStubRoutine final : public GCAwareJITStubRoutine {
public:
PolymorphicCallStubRoutine(
const MacroAssemblerCodeRef<JITStubRoutinePtrTag>&, VM&, const JSCell* owner,
@@ -87,7 +87,7 @@
CallFrame* callerFrame, CallLinkInfo&, const Vector<PolymorphicCallCase>&,
UniqueArray<uint32_t>&& fastCounts);
- virtual ~PolymorphicCallStubRoutine();
+ ~PolymorphicCallStubRoutine() final;
CallVariantList variants() const;
bool hasEdges() const;
@@ -102,12 +102,11 @@
functor(variant.get());
}
- bool visitWeak(VM&) override;
+ bool visitWeak(VM&) final;
-protected:
- void markRequiredObjectsInternal(SlotVisitor&) override;
+private:
+ void markRequiredObjectsInternal(SlotVisitor&) final;
-private:
Vector<WriteBarrier<JSCell>, 2> m_variants;
UniqueArray<uint32_t> m_fastCounts;
Bag<PolymorphicCallNode> m_callNodes;
Modified: trunk/Source/_javascript_Core/jsc.cpp (261541 => 261542)
--- trunk/Source/_javascript_Core/jsc.cpp 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/jsc.cpp 2020-05-12 03:04:10 UTC (rev 261542)
@@ -973,7 +973,7 @@
return true;
}
-class ShellSourceProvider : public StringSourceProvider {
+class ShellSourceProvider final : public StringSourceProvider {
public:
static Ref<ShellSourceProvider> create(const String& source, const SourceOrigin& sourceOrigin, URL&& url, const TextPosition& startPosition, SourceProviderSourceType sourceType)
{
@@ -980,12 +980,12 @@
return adoptRef(*new ShellSourceProvider(source, sourceOrigin, WTFMove(url), startPosition, sourceType));
}
- ~ShellSourceProvider()
+ ~ShellSourceProvider() final
{
commitCachedBytecode();
}
- RefPtr<CachedBytecode> cachedBytecode() const override
+ RefPtr<CachedBytecode> cachedBytecode() const final
{
if (!m_cachedBytecode)
loadBytecode();
@@ -992,7 +992,7 @@
return m_cachedBytecode.copyRef();
}
- void updateCache(const UnlinkedFunctionExecutable* executable, const SourceCode&, CodeSpecializationKind kind, const UnlinkedFunctionCodeBlock* codeBlock) const override
+ void updateCache(const UnlinkedFunctionExecutable* executable, const SourceCode&, CodeSpecializationKind kind, const UnlinkedFunctionCodeBlock* codeBlock) const final
{
if (!cacheEnabled() || !m_cachedBytecode)
return;
@@ -1002,7 +1002,7 @@
m_cachedBytecode->addFunctionUpdate(executable, kind, *cachedBytecode);
}
- void cacheBytecode(const BytecodeCacheGenerator& generator) const override
+ void cacheBytecode(const BytecodeCacheGenerator& generator) const final
{
if (!cacheEnabled())
return;
@@ -1013,7 +1013,7 @@
m_cachedBytecode->addGlobalUpdate(*update);
}
- void commitCachedBytecode() const override
+ void commitCachedBytecode() const final
{
if (!cacheEnabled() || !m_cachedBytecode || !m_cachedBytecode->hasUpdates())
return;
Modified: trunk/Source/_javascript_Core/parser/Lexer.cpp (261541 => 261542)
--- trunk/Source/_javascript_Core/parser/Lexer.cpp 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/parser/Lexer.cpp 2020-05-12 03:04:10 UTC (rev 261542)
@@ -746,7 +746,7 @@
return typesOfLatin1Characters[static_cast<LChar>(c)] == CharacterIdentifierStart;
}
-static ALWAYS_INLINE bool isSingleCharacterIdentStart(UChar c)
+static ALWAYS_INLINE UNUSED_FUNCTION bool isSingleCharacterIdentStart(UChar c)
{
if (LIKELY(isLatin1(c)))
return isIdentStart(static_cast<LChar>(c));
Modified: trunk/Source/_javascript_Core/runtime/JSDestructibleObjectHeapCellType.h (261541 => 261542)
--- trunk/Source/_javascript_Core/runtime/JSDestructibleObjectHeapCellType.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/runtime/JSDestructibleObjectHeapCellType.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -29,13 +29,13 @@
namespace JSC {
-class JSDestructibleObjectHeapCellType : public HeapCellType {
+class JSDestructibleObjectHeapCellType final : public HeapCellType {
public:
JS_EXPORT_PRIVATE JSDestructibleObjectHeapCellType();
- JS_EXPORT_PRIVATE virtual ~JSDestructibleObjectHeapCellType();
+ JS_EXPORT_PRIVATE ~JSDestructibleObjectHeapCellType() final;
- void finishSweep(MarkedBlock::Handle&, FreeList*) override;
- void destroy(VM&, JSCell*) override;
+ void finishSweep(MarkedBlock::Handle&, FreeList*) final;
+ void destroy(VM&, JSCell*) final;
};
} // namespace JSC
Modified: trunk/Source/_javascript_Core/runtime/SimpleTypedArrayController.h (261541 => 261542)
--- trunk/Source/_javascript_Core/runtime/SimpleTypedArrayController.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/runtime/SimpleTypedArrayController.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -46,20 +46,20 @@
// already been created and it didn't die, then you get the same
// one.
-class SimpleTypedArrayController : public TypedArrayController {
+class SimpleTypedArrayController final : public TypedArrayController {
public:
SimpleTypedArrayController();
- virtual ~SimpleTypedArrayController();
+ ~SimpleTypedArrayController() final;
- JSArrayBuffer* toJS(JSGlobalObject*, JSGlobalObject*, ArrayBuffer*) override;
- void registerWrapper(JSGlobalObject*, ArrayBuffer*, JSArrayBuffer*) override;
- bool isAtomicsWaitAllowedOnCurrentThread() override;
+ JSArrayBuffer* toJS(JSGlobalObject*, JSGlobalObject*, ArrayBuffer*) final;
+ void registerWrapper(JSGlobalObject*, ArrayBuffer*, JSArrayBuffer*) final;
+ bool isAtomicsWaitAllowedOnCurrentThread() final;
private:
- class JSArrayBufferOwner : public WeakHandleOwner {
+ class JSArrayBufferOwner final : public WeakHandleOwner {
public:
- bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, SlotVisitor&, const char** reason) override;
- void finalize(JSC::Handle<JSC::Unknown>, void* context) override;
+ bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, SlotVisitor&, const char** reason) final;
+ void finalize(JSC::Handle<JSC::Unknown>, void* context) final;
};
JSArrayBufferOwner m_owner;
Modified: trunk/Source/_javascript_Core/runtime/Structure.h (261541 => 261542)
--- trunk/Source/_javascript_Core/runtime/Structure.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/runtime/Structure.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -96,7 +96,7 @@
}
};
-class StructureFireDetail : public FireDetail {
+class StructureFireDetail final : public FireDetail {
public:
StructureFireDetail(const Structure* structure)
: m_structure(structure)
@@ -103,19 +103,19 @@
{
}
- void dump(PrintStream& out) const override;
+ void dump(PrintStream& out) const final;
private:
const Structure* m_structure;
};
-class DeferredStructureTransitionWatchpointFire : public DeferredWatchpointFire {
+class DeferredStructureTransitionWatchpointFire final : public DeferredWatchpointFire {
WTF_MAKE_NONCOPYABLE(DeferredStructureTransitionWatchpointFire);
public:
JS_EXPORT_PRIVATE DeferredStructureTransitionWatchpointFire(VM&, Structure*);
- JS_EXPORT_PRIVATE ~DeferredStructureTransitionWatchpointFire();
+ JS_EXPORT_PRIVATE ~DeferredStructureTransitionWatchpointFire() final;
- void dump(PrintStream& out) const override;
+ void dump(PrintStream& out) const final;
const Structure* structure() const { return m_structure; }
Modified: trunk/Source/_javascript_Core/runtime/WeakGCMap.h (261541 => 261542)
--- trunk/Source/_javascript_Core/runtime/WeakGCMap.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/runtime/WeakGCMap.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -40,7 +40,7 @@
template<typename KeyArg, typename ValueArg, typename HashArg = typename DefaultHash<KeyArg>::Hash,
typename KeyTraitsArg = HashTraits<KeyArg>>
-class WeakGCMap : public WeakGCMapBase {
+class WeakGCMap final : public WeakGCMapBase {
WTF_MAKE_FAST_ALLOCATED;
typedef Weak<ValueArg> ValueType;
typedef HashMap<KeyArg, ValueType, HashArg, KeyTraitsArg> HashMapType;
@@ -52,7 +52,7 @@
typedef typename HashMapType::const_iterator const_iterator;
explicit WeakGCMap(VM&);
- ~WeakGCMap();
+ ~WeakGCMap() final;
ValueArg* get(const KeyType& key) const
{
@@ -91,7 +91,7 @@
inline bool contains(const KeyType& key) const;
- void pruneStaleEntries() override;
+ void pruneStaleEntries() final;
private:
HashMapType m_map;
Modified: trunk/Source/_javascript_Core/wasm/WasmEntryPlan.h (261541 => 261542)
--- trunk/Source/_javascript_Core/wasm/WasmEntryPlan.h 2020-05-12 02:52:03 UTC (rev 261541)
+++ trunk/Source/_javascript_Core/wasm/WasmEntryPlan.h 2020-05-12 03:04:10 UTC (rev 261542)
@@ -50,7 +50,7 @@
EntryPlan(Context*, Ref<ModuleInformation>, AsyncWork, CompletionTask&&);
JS_EXPORT_PRIVATE EntryPlan(Context*, Vector<uint8_t>&&, AsyncWork, CompletionTask&&);
- virtual ~EntryPlan() = default;
+ ~EntryPlan() override = default;
void prepare();