< prev index next >

test/hotspot/jtreg/compiler/gcbarriers/TestG1BarrierGeneration.java

Print this page
*** 726,14 ***
          return fVarHandle.compareAndSet(o, oldVal, newVal);
      }
  
      @Test
      @IR(applyIf = {"UseCompressedOops", "false"},
!         counts = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIf = {"UseCompressedOops", "true"},
!         counts = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSet(Outer o, Object newVal) {
          return fVarHandle.getAndSet(o, newVal);
      }
  
--- 726,14 ---
          return fVarHandle.compareAndSet(o, oldVal, newVal);
      }
  
      @Test
      @IR(applyIf = {"UseCompressedOops", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIf = {"UseCompressedOops", "true"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSet(Outer o, Object newVal) {
          return fVarHandle.getAndSet(o, newVal);
      }
  

*** 784,39 ***
          return fVarHandle.compareAndSet(o, oldVal, newVal);
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObject(Object oldVal, Object newVal) {
          Outer o = new Outer();
          o.f = oldVal;
          return fVarHandle.getAndSet(o, newVal);
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetConditionallyOnNewObject(Object oldVal, Object newVal, boolean c) {
          Outer o = new Outer();
          o.f = oldVal;
          if (c) {
--- 784,39 ---
          return fVarHandle.compareAndSet(o, oldVal, newVal);
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObject(Object oldVal, Object newVal) {
          Outer o = new Outer();
          o.f = oldVal;
          return fVarHandle.getAndSet(o, newVal);
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetConditionallyOnNewObject(Object oldVal, Object newVal, boolean c) {
          Outer o = new Outer();
          o.f = oldVal;
          if (c) {

*** 825,20 ***
          return oldVal;
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObjectAfterException(Object oldVal, Object newVal, boolean c) throws Exception {
          Outer o = new Outer();
          if (c) {
              throw new Exception("");
--- 825,20 ---
          return oldVal;
      }
  
      @Test
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, POST_ONLY, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "false", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIfAnd = {"UseCompressedOops", "true", "ReduceInitialCardMarks", "true"},
!         failOn = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, ANY},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObjectAfterException(Object oldVal, Object newVal, boolean c) throws Exception {
          Outer o = new Outer();
          if (c) {
              throw new Exception("");

*** 847,14 ***
          return fVarHandle.getAndSet(o, newVal);
      }
  
      @Test
      @IR(applyIf = {"UseCompressedOops", "false"},
!         counts = {IRNode.G1_GET_AND_SET_P_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIf = {"UseCompressedOops", "true"},
!         counts = {IRNode.G1_GET_AND_SET_N_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObjectAfterCall(Object oldVal, Object newVal) {
          Outer o = new Outer();
          nonInlinedMethod();
          o.f = oldVal;
--- 847,14 ---
          return fVarHandle.getAndSet(o, newVal);
      }
  
      @Test
      @IR(applyIf = {"UseCompressedOops", "false"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_P_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      @IR(applyIf = {"UseCompressedOops", "true"},
!         counts = {IRNode.G1_COMPARE_AND_SWAP_N_WITH_BARRIER_FLAG, PRE_AND_POST, "1"},
          phase = CompilePhase.FINAL_CODE)
      static Object testGetAndSetOnNewObjectAfterCall(Object oldVal, Object newVal) {
          Outer o = new Outer();
          nonInlinedMethod();
          o.f = oldVal;
< prev index next >