--- a/src/hotspot/cpu/x86/c1_Runtime1_x86.cpp Wed Nov 08 11:05:20 2017 +0100
+++ b/src/hotspot/cpu/x86/c1_Runtime1_x86.cpp Wed Nov 08 11:48:15 2017 +0100
@@ -1675,6 +1675,8 @@
case g1_post_barrier_slow_id:
{
+ StubFrame f(sasm, "g1_post_barrier", dont_gc_arguments);
+
BarrierSet* bs = Universe::heap()->barrier_set();
if (bs->kind() != BarrierSet::G1SATBCT &&
bs->kind() != BarrierSet::G1SATBCTLogging) {
@@ -1684,15 +1686,13 @@
break;
}
- CardTableModRefBS* ct = barrier_set_cast<CardTableModRefBS>(bs);
- assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
-
- StubFrame f(sasm, "g1_post_barrier", dont_gc_arguments);
-
-
// arg0: store_address
Address store_addr(rbp, 2*BytesPerWord);
+ CardTableModRefBS* ct =
+ barrier_set_cast<CardTableModRefBS>(Universe::heap()->barrier_set());
+ assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code");
+
Label done;
Label enqueued;
Label runtime;