hotspot/src/share/vm/memory/modRefBarrierSet.hpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
child 1374 4c24294029a9
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
    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; }