# HG changeset patch # User rkennke # Date 1443644646 -7200 # Node ID 98308cb043ca1a5ee7e6c6309ce9c48c3b92d72e # Parent cbd4cf7a10978481f5fd10329778b1589f08c581 Implement barriers for some new intrinsics. diff -r cbd4cf7a1097 -r 98308cb043ca src/share/vm/opto/library_call.cpp --- a/src/share/vm/opto/library_call.cpp Wed Sep 30 22:24:04 2015 +0200 +++ b/src/share/vm/opto/library_call.cpp Wed Sep 30 22:24:06 2015 +0200 @@ -5672,10 +5672,12 @@ } // 'src_start' points to src array + scaled offset + src = shenandoah_read_barrier(src); Node* src_start = array_element_address(src, offset, src_elem); // static final int[] byteTable in class CRC32C Node* table = get_table_from_crc32c_class(callee()->holder()); + table = shenandoah_read_barrier(table); Node* table_start = array_element_address(table, intcon(0), T_INT); // We assume that range check is done by caller. @@ -5719,6 +5721,7 @@ // static final int[] byteTable in class CRC32C Node* table = get_table_from_crc32c_class(callee()->holder()); + table = shenandoah_read_barrier(table); Node* table_start = array_element_address(table, intcon(0), T_INT); // Call the stub. @@ -5762,6 +5765,7 @@ } // 'src_start' points to src array + scaled offset + src = shenandoah_read_barrier(src); Node* src_start = array_element_address(src, offset, src_elem); // We assume that range check is done by caller.