Mercurial > hg > truffle
comparison src/share/vm/opto/runtime.hpp @ 1027:39b01ab7035a
6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning
6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)
Summary: Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().
Reviewed-by: jcoomes, kvn, never
author | ysr |
---|---|
date | Fri, 16 Oct 2009 02:05:46 -0700 |
parents | 37f87013dfd8 |
children | 7b0e9cba0307 |
comparison
equal
deleted
inserted
replaced
1025:1ee412f7fec9 | 1027:39b01ab7035a |
---|---|
131 static void new_instance_C(klassOopDesc* instance_klass, JavaThread *thread); | 131 static void new_instance_C(klassOopDesc* instance_klass, JavaThread *thread); |
132 | 132 |
133 // Allocate storage for a objArray or typeArray | 133 // Allocate storage for a objArray or typeArray |
134 static void new_array_C(klassOopDesc* array_klass, int len, JavaThread *thread); | 134 static void new_array_C(klassOopDesc* array_klass, int len, JavaThread *thread); |
135 | 135 |
136 // Post-allocation step for implementing ReduceInitialCardMarks: | 136 // Post-slow-path-allocation step for implementing ReduceInitialCardMarks: |
137 static void do_eager_card_mark(JavaThread* thread); | 137 static void maybe_defer_card_mark(JavaThread* thread); |
138 | 138 |
139 // Allocate storage for a multi-dimensional arrays | 139 // Allocate storage for a multi-dimensional arrays |
140 // Note: needs to be fixed for arbitrary number of dimensions | 140 // Note: needs to be fixed for arbitrary number of dimensions |
141 static void multianewarray2_C(klassOopDesc* klass, int len1, int len2, JavaThread *thread); | 141 static void multianewarray2_C(klassOopDesc* klass, int len1, int len2, JavaThread *thread); |
142 static void multianewarray3_C(klassOopDesc* klass, int len1, int len2, int len3, JavaThread *thread); | 142 static void multianewarray3_C(klassOopDesc* klass, int len1, int len2, int len3, JavaThread *thread); |