@@ -68,15 +68,14 @@ void startGCUnexpectedRegion();
68
68
void endGCUnexpectedRegion ();
69
69
70
70
class GCVisitorNoRedundancy : public GCVisitor {
71
- virtual void _visitRedundant (void ** ptr_address) { visit (ptr_address); }
72
- virtual void _visitRangeRedundant (void ** start, void ** end) { visitRange (start, end); }
71
+ void _visitRedundant (void ** ptr_address) override { visit (ptr_address); }
72
+ void _visitRangeRedundant (void ** start, void ** end) override { visitRange (start, end); }
73
73
74
74
public:
75
75
virtual ~GCVisitorNoRedundancy () {}
76
76
77
- virtual void visitPotentialRedundant (void * p) { visitPotential (p); }
78
- virtual void visitPotentialRangeRedundant (void ** start, void ** end) { visitPotentialRange (start, end); }
79
- virtual bool shouldVisitRedundants () { return true ; }
77
+ void visitPotentialRedundant (void * p) override { visitPotential (p); }
78
+ void visitPotentialRangeRedundant (void ** start, void ** end) override { visitPotentialRange (start, end); }
80
79
};
81
80
82
81
//
@@ -85,18 +84,24 @@ class GCVisitorNoRedundancy : public GCVisitor {
85
84
86
85
class ReferenceMapStack ;
87
86
87
+ #if MOVING_GC
88
+ #define MOVING_OVERRIDE override
89
+ #else
90
+ #define MOVING_OVERRIDE
91
+ #endif
92
+
88
93
// Bulds the reference map, and also determine which objects cannot be moved.
89
94
class GCVisitorPinning : public GCVisitorNoRedundancy {
90
95
private:
91
96
ReferenceMapStack* stack;
92
97
93
- virtual void _visit (void ** ptr_address);
98
+ void _visit (void ** ptr_address) MOVING_OVERRIDE ;
94
99
95
100
public:
96
101
GCVisitorPinning (ReferenceMapStack* stack) : stack(stack) {}
97
102
virtual ~GCVisitorPinning () {}
98
103
99
- virtual void visitPotential (void * p);
104
+ void visitPotential (void * p) MOVING_OVERRIDE ;
100
105
};
101
106
102
107
// Visits the fields and replaces it with new_values if it was equal to old_value.
@@ -105,14 +110,14 @@ class GCVisitorReplacing : public GCVisitor {
105
110
void * old_value;
106
111
void * new_value;
107
112
108
- virtual void _visit (void ** p);
113
+ void _visit (void ** p) MOVING_OVERRIDE ;
109
114
110
115
public:
111
116
GCVisitorReplacing (void * old_value, void * new_value) : old_value(old_value), new_value(new_value) {}
112
117
virtual ~GCVisitorReplacing () {}
113
118
114
- virtual void visitPotential (void * p){};
115
- virtual void visitPotentialRange (void ** start, void ** end){};
119
+ void visitPotential (void * p) MOVING_OVERRIDE {};
120
+ void visitPotentialRange (void ** start, void ** end) MOVING_OVERRIDE {};
116
121
};
117
122
118
123
class GCAllocation ;
0 commit comments