35 bool has_read_ref_barrier() { return false; } |
35 bool has_read_ref_barrier() { return false; } |
36 bool has_read_prim_barrier() { return false; } |
36 bool has_read_prim_barrier() { return false; } |
37 bool has_write_ref_barrier() { return true; } |
37 bool has_write_ref_barrier() { return true; } |
38 bool has_write_prim_barrier() { return false; } |
38 bool has_write_prim_barrier() { return false; } |
39 |
39 |
40 bool read_ref_needs_barrier(oop* field) { return false; } |
40 bool read_ref_needs_barrier(void* field) { return false; } |
41 bool read_prim_needs_barrier(HeapWord* field, size_t bytes) { return false; } |
41 bool read_prim_needs_barrier(HeapWord* field, size_t bytes) { return false; } |
42 virtual bool write_ref_needs_barrier(oop* field, oop new_val) = 0; |
42 virtual bool write_ref_needs_barrier(void* field, oop new_val) = 0; |
43 bool write_prim_needs_barrier(HeapWord* field, size_t bytes, |
43 bool write_prim_needs_barrier(HeapWord* field, size_t bytes, |
44 juint val1, juint val2) { return false; } |
44 juint val1, juint val2) { return false; } |
45 |
45 |
46 void write_prim_field(oop obj, size_t offset, size_t bytes, |
46 void write_prim_field(oop obj, size_t offset, size_t bytes, |
47 juint val1, juint val2) {} |
47 juint val1, juint val2) {} |
48 |
48 |
49 void read_ref_field(oop* field) {} |
49 void read_ref_field(void* field) {} |
50 void read_prim_field(HeapWord* field, size_t bytes) {} |
50 void read_prim_field(HeapWord* field, size_t bytes) {} |
51 protected: |
51 protected: |
52 virtual void write_ref_field_work(oop* field, oop new_val) = 0; |
52 virtual void write_ref_field_work(void* field, oop new_val) = 0; |
53 public: |
53 public: |
54 void write_prim_field(HeapWord* field, size_t bytes, |
54 void write_prim_field(HeapWord* field, size_t bytes, |
55 juint val1, juint val2) {} |
55 juint val1, juint val2) {} |
56 |
56 |
57 bool has_read_ref_array_opt() { return false; } |
57 bool has_read_ref_array_opt() { return false; } |