@@ -61,6 +61,8 @@ class ShenandoahAsserts {
61
61
static void assert_forwarded (void * interior_loc, oop obj, const char * file, int line);
62
62
static void assert_not_forwarded (void * interior_loc, oop obj, const char * file, int line);
63
63
static void assert_marked (void * interior_loc, oop obj, const char * file, int line);
64
+ static void assert_marked_weak (void * interior_loc, oop obj, const char * file, int line);
65
+ static void assert_marked_strong (void * interior_loc, oop obj, const char * file, int line);
64
66
static void assert_in_cset (void * interior_loc, oop obj, const char * file, int line);
65
67
static void assert_not_in_cset (void * interior_loc, oop obj, const char * file, int line);
66
68
static void assert_not_in_cset_loc (void * interior_loc, const char * file, int line);
@@ -107,6 +109,20 @@ class ShenandoahAsserts {
107
109
#define shenandoah_assert_marked (interior_loc, obj ) \
108
110
ShenandoahAsserts::assert_marked (interior_loc, obj, __FILE__, __LINE__)
109
111
112
+ #define shenandoah_assert_marked_weak_if (interior_loc, obj, condition ) \
113
+ if (condition) ShenandoahAsserts::assert_marked_weak(interior_loc, obj, __FILE__, __LINE__)
114
+ #define shenandoah_assert_marked_weak_except (interior_loc, obj, exception ) \
115
+ if (!(exception )) ShenandoahAsserts::assert_marked_weak(interior_loc, obj, __FILE__, __LINE__)
116
+ #define shenandoah_assert_marked_weak (interior_loc, obj ) \
117
+ ShenandoahAsserts::assert_marked_weak (interior_loc, obj, __FILE__, __LINE__)
118
+
119
+ #define shenandoah_assert_marked_strong_if (interior_loc, obj, condition ) \
120
+ if (condition) ShenandoahAsserts::assert_marked_strong(interior_loc, obj, __FILE__, __LINE__)
121
+ #define shenandoah_assert_marked_strong_except (interior_loc, obj, exception ) \
122
+ if (!(exception )) ShenandoahAsserts::assert_marked_strong(interior_loc, obj, __FILE__, __LINE__)
123
+ #define shenandoah_assert_marked_strong (interior_loc, obj ) \
124
+ ShenandoahAsserts::assert_marked_strong (interior_loc, obj, __FILE__, __LINE__)
125
+
110
126
#define shenandoah_assert_in_cset_if (interior_loc, obj, condition ) \
111
127
if (condition) ShenandoahAsserts::assert_in_cset(interior_loc, obj, __FILE__, __LINE__)
112
128
#define shenandoah_assert_in_cset_except (interior_loc, obj, exception ) \
@@ -168,6 +184,14 @@ class ShenandoahAsserts {
168
184
#define shenandoah_assert_marked_except (interior_loc, obj, exception )
169
185
#define shenandoah_assert_marked (interior_loc, obj )
170
186
187
+ #define shenandoah_assert_marked_weak_if (interior_loc, obj, condition )
188
+ #define shenandoah_assert_marked_weak_except (interior_loc, obj, exception )
189
+ #define shenandoah_assert_marked_weak (interior_loc, obj )
190
+
191
+ #define shenandoah_assert_marked_strong_if (interior_loc, obj, condition )
192
+ #define shenandoah_assert_marked_strong_except (interior_loc, obj, exception )
193
+ #define shenandoah_assert_marked_strong (interior_loc, obj )
194
+
171
195
#define shenandoah_assert_in_cset_if (interior_loc, obj, condition )
172
196
#define shenandoah_assert_in_cset_except (interior_loc, obj, exception )
173
197
#define shenandoah_assert_in_cset (interior_loc, obj )
0 commit comments