RFR(M): 8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution

Roland Westrelin roland.westrelin at oracle.com
Tue Feb 12 13:36:30 PST 2013


InitializeNode::can_capture_store() must check that the captured store doesn't overwrite a memory location that is loaded before the store.

http://cr.openjdk.java.net/~roland/8007294/webrev.00/

And I used the following code to check that all stores captured by the existing code are still captured with the new code (with CTW, the regression tests, vm.jit.testlist, vm.regression.testlist, nsk.regression.testlist, nsk.stress.testlist, nsk.monitoring.testlist and reference_server):
http://cr.openjdk.java.net/~roland/8007294/webrev.test/

Below are reference_server perf results.

Roland.

============================================================================
tserver-optim-2: reference_server
  Benchmark         Samples        Mean     Stdev
  jetstream              10       84.09      0.02
    Copy                 10      991.60      0.08
    Parse                10       41.60      0.03
    Read                 10       15.70      0.03
    Write                10      310.40      0.02
  scimark                10      457.48      0.01
    Sparse               10      217.88      0.03
    LU                   10      702.49      0.01
    SOR                  10      761.56      0.00
    FFT                  10       32.38      0.00
    Monte                10      573.08      0.02
  specjbb2000            10   391197.66      0.01
    First_Warehouse      10    60667.47      0.01
    Last_Warehouse       10   391197.65      0.01
  specjbb2005            10   210427.78      0.01
    peak                 10   219131.96      0.02
    peak_warehouse       10        4.40      0.29
    last                 10   210427.79      0.01
    interval_average     10    12378.00      0.01
    first                10    31738.81      0.01
    overall_average      10   174274.66      0.01
    last_warehouse       10        8.00      0.00
  specjvm98              10      593.08      0.01
    javac                10      425.92      0.01
    db                   10      423.57      0.03
    jess                 10      684.69      0.10
    jack                 10      493.38      0.01
    compress             10      500.68      0.01
    mtrt                 10     1005.75      0.16
    mpegaudio            10      854.65      0.01
  volano25               10   160669.20      0.02
    connections          10      400.00      0.00
    time                 10        4.98      0.02
  --------------------------------------------------------------------------
  Weighted Geomean             16531.66
============================================================================
tserver-optim-3: reference_server
  Benchmark         Samples        Mean     Stdev   %Diff    P   Significant
  jetstream              10       84.85      0.02    0.90 0.383            *
    Copy                 10      947.10      0.07    4.49 0.192            *
    Parse                10       41.80      0.02   -0.48 0.641            *
    Read                 10       15.90      0.04   -1.27 0.408            *
    Write                10      307.70      0.01    0.87 0.281            *
  scimark                10      460.32      0.00    0.62 0.048            *
    Sparse               10      220.68      0.02    1.28 0.216            *
    LU                   10      703.39      0.01    0.13 0.711            *
    SOR                  10      761.82      0.00    0.03 0.682            *
    FFT                  10       32.41      0.00    0.09 0.369            *
    Monte                10      583.32      0.01    1.79 0.036            *
  specjbb2000            10   392140.38      0.01    0.24 0.582            *
    First_Warehouse      10    60657.19      0.01   -0.02 0.950            *
    Last_Warehouse       10   392140.36      0.01    0.24 0.582            *
  specjbb2005            10   209739.73      0.01   -0.33 0.549            *
    peak                 10   220593.43      0.02    0.67 0.374            *
    peak_warehouse       10        4.10      0.08    6.82 0.483            *
    last                 10   209739.73      0.01   -0.33 0.549            *
    interval_average     10    12337.50      0.01   -0.33 0.549            *
    first                10    31930.08      0.01    0.60 0.098            *
    overall_average      10   175507.96      0.01    0.71 0.040            *
    last_warehouse       10        8.00      0.00   -0.00 0.000            *
  specjvm98              10      588.83      0.01   -0.72 0.084            *
    javac                10      423.75      0.01   -0.51 0.312            *
    db                   10      419.99      0.03   -0.84 0.561            *
    jess                 10      740.19      0.01    8.11 0.030            *
    jack                 10      497.94      0.01    0.92 0.038            *
    compress             10      499.48      0.00   -0.24 0.378            *
    mtrt                 10      877.78      0.01  -12.72 0.034            *
    mpegaudio            10      853.79      0.01   -0.10 0.676            *
  volano25               10   159542.09      0.02   -0.70 0.403            *
    connections          10      400.00      0.00    0.00 0.000            *
    time                 10        5.02      0.02   -0.70 0.413            *
  --------------------------------------------------------------------------
  Weighted Geomean             16513.23             -0.11
============================================================================



More information about the hotspot-compiler-dev mailing list