equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
68 |
68 |
69 // These functions indicate whether a particular access of the given |
69 // These functions indicate whether a particular access of the given |
70 // kinds requires a barrier. |
70 // kinds requires a barrier. |
71 virtual bool read_ref_needs_barrier(void* field) = 0; |
71 virtual bool read_ref_needs_barrier(void* field) = 0; |
72 virtual bool read_prim_needs_barrier(HeapWord* field, size_t bytes) = 0; |
72 virtual bool read_prim_needs_barrier(HeapWord* field, size_t bytes) = 0; |
73 virtual bool write_ref_needs_barrier(void* field, oop new_val) = 0; |
|
74 virtual bool write_prim_needs_barrier(HeapWord* field, size_t bytes, |
73 virtual bool write_prim_needs_barrier(HeapWord* field, size_t bytes, |
75 juint val1, juint val2) = 0; |
74 juint val1, juint val2) = 0; |
76 |
75 |
77 // The first four operations provide a direct implementation of the |
76 // The first four operations provide a direct implementation of the |
78 // barrier set. An interpreter loop, for example, could call these |
77 // barrier set. An interpreter loop, for example, could call these |