hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp
changeset 15482 470d0b0c09f1
parent 14745 03904dd8649b
child 15799 6aa92f9debd2
equal deleted inserted replaced
15224:0f9e3436040d 15482:470d0b0c09f1
    32 #include "oops/oop.inline.hpp"
    32 #include "oops/oop.inline.hpp"
    33 #include "prims/methodHandles.hpp"
    33 #include "prims/methodHandles.hpp"
    34 #include "runtime/sharedRuntime.hpp"
    34 #include "runtime/sharedRuntime.hpp"
    35 #include "runtime/stubRoutines.hpp"
    35 #include "runtime/stubRoutines.hpp"
    36 #include "runtime/synchronizer.hpp"
    36 #include "runtime/synchronizer.hpp"
       
    37 #include "utilities/macros.hpp"
    37 
    38 
    38 #ifndef CC_INTERP
    39 #ifndef CC_INTERP
    39 #define __ _masm->
    40 #define __ _masm->
    40 
    41 
    41 // Misc helpers
    42 // Misc helpers
    51                          BarrierSet::Name barrier,
    52                          BarrierSet::Name barrier,
    52                          bool precise) {
    53                          bool precise) {
    53   assert(tmp != val && tmp != base && tmp != index, "register collision");
    54   assert(tmp != val && tmp != base && tmp != index, "register collision");
    54   assert(index == noreg || offset == 0, "only one offset");
    55   assert(index == noreg || offset == 0, "only one offset");
    55   switch (barrier) {
    56   switch (barrier) {
    56 #ifndef SERIALGC
    57 #if INCLUDE_ALL_GCS
    57     case BarrierSet::G1SATBCT:
    58     case BarrierSet::G1SATBCT:
    58     case BarrierSet::G1SATBCTLogging:
    59     case BarrierSet::G1SATBCTLogging:
    59       {
    60       {
    60         // Load and record the previous value.
    61         // Load and record the previous value.
    61         __ g1_write_barrier_pre(base, index, offset,
    62         __ g1_write_barrier_pre(base, index, offset,
    80           }
    81           }
    81           __ g1_write_barrier_post(base, val, tmp);
    82           __ g1_write_barrier_post(base, val, tmp);
    82         }
    83         }
    83       }
    84       }
    84       break;
    85       break;
    85 #endif // SERIALGC
    86 #endif // INCLUDE_ALL_GCS
    86     case BarrierSet::CardTableModRef:
    87     case BarrierSet::CardTableModRef:
    87     case BarrierSet::CardTableExtension:
    88     case BarrierSet::CardTableExtension:
    88       {
    89       {
    89         if (index == noreg ) {
    90         if (index == noreg ) {
    90           assert(Assembler::is_simm13(offset), "fix this code");
    91           assert(Assembler::is_simm13(offset), "fix this code");