< prev index next >

src/hotspot/share/runtime/sharedRuntime.cpp

RFE_8195103_reduce_initial_card_marks

*** 1,7 **** /* ! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. ***************
*** 3167,3171 **** --- 3167,3184 ---- fr = fr.java_sender(); } } return activation; } + + void SharedRuntime::on_slowpath_allocation_exit(JavaThread* thread) { + // After any safepoint, just before going back to compiled code, + // we inform the GC that we will be doing initializing writes to + // this object in the future without emitting card-marks, so + // GC may take any compensating steps. + + oop new_obj = thread->vm_result(); + if (new_obj == NULL) return; + + BarrierSet *bs = Universe::heap()->barrier_set(); + bs->on_slowpath_allocation_exit(thread, new_obj); + }
< prev index next >