RFR: JDK-8147026- Convert an assert in ClassLoaderData to a guarantee

Shafi Ahmad shafi.s.ahmad at oracle.com
Tue Feb 16 09:41:36 UTC 2016


Hi All,

 

Please review the trivial change of replacing 'assert' by 'guarantee'

 

Summary: Having a guarantee in method "ClassLoaderDataGraph::find_or_create" ensuring that the classloader is a valid oop will help catch the errors at an early stage during the run rather than crashing the JVM later on in the GC.  

 

Open webrev: http://cr.openjdk.java.net/~csahu/8147026/webrev.00

Bug link: https://bugs.openjdk.java.net/browse/JDK-8147026

Testing:  JPRT

 

Since we are changing 'assert' by 'guarantee' which will add few instruction into code in product build and I am not sure about the *hotness* of this method. 

So I run the performance test [refworkload] to make sure the impact of this change in the product build. 

I am attaching the  performance run report for your reference.

 

Regards,

Shafi

 
-------------- next part --------------

Property file used:
===================
bash-3.2$ cat properties.clean 
j2se.home=/tmp/shafi/Clean/
resultsdir=/tmp/shafi/logs.clean
benchmarks=scimark jetstream specjbb2000 specjvm98 volano25
volano.debug=true
scimark.timeout=60
specjvm98.timeout=60
specjbb2005.timeout=90
specjbb2000.timeout=90
volano25.timeout=60
jetstream.timeout=10
specjbb2005.mode=custom
specjbb2005.results_mode=last_warehouse
specjbb2005.warehouse_sequence=1 2 3 4 5 6 7 8
j2se.optons=-d64 -Xmx4g -Xms4g
iterations=3

std output for clean run:
=========================
bash-3.2$ cat clean 
Using properties in properties.clean
Unknown property: j2se.optons, ignored
Warning: component property should be set: assuming j2se
Warning: /tmp/shafi/Clean//bin/javaws not found:
		check j2se.home or j2se.javaws
Warning: /tmp/shafi/Clean//bin/javaws not found:
		check j2se.home or j2se.javaws
Running Reference Workload Version 0.85beta1
Nightly bundle:  Thu Feb 11 03:03:42 PST 2016
Results will be stored in /tmp/shafi/logs.clean
Using collectors: core hserr perfdata
Running in warm mode
Running scimark iteration=1
Running scimark iteration=2
Running scimark iteration=3
Running jetstream iteration=1
Running jetstream iteration=2
Running jetstream iteration=3
Running specjbb2000 iteration=1
Running specjbb2000 iteration=2
Running specjbb2000 iteration=3
Running specjvm98 iteration=1
Running specjvm98 iteration=2
Running specjvm98 iteration=3
Running volano25 iteration=1
Running volano25 iteration=2
Running volano25 iteration=3
==============================================================================
/tmp/shafi/logs.clean:
  Benchmark           Samples        Mean     Stdev             Geomean Weight
  jetstream                 3       18.93      1.95            
    Copy                    3      565.67    184.80            
    Parse                   3      629.00     33.96            
    Read                    3      190.33     12.66            
    Write                   3     1208.67     38.99            
    rw.runtime              3       26.67      0.58            
  scimark                   3       16.23      0.20            
    FFT                     3        7.77      0.11            
    LU                      3       20.28      0.13            
    Monte                   3       14.06      0.13            
    SOR                     3       22.93      0.12            
    Sparse                  3       16.11      0.87            
    rw.runtime              3       67.67      2.31            
  specjbb2000               3    39881.35   4203.83            
    First_Warehouse         3     6375.15     46.90            
    Last_Warehouse          3    39881.35   4203.83            
    rw.runtime              3      641.67      3.79            
  specjvm98                 3       39.56      0.75            
    compress                3       60.09      4.31            
    db                      3       22.89      0.83            
    jack                    3       48.67      0.75            
    javac                   3       27.88      0.87            
    jess                    3       49.40      1.11            
    mpegaudio               3       25.57      0.36            
    mtrt                    3       64.45      0.75            
    rw.runtime              3      721.33     17.56            
  volano25                  3    66080.67    932.11            
    connections             3      400.00      0.00            
    rw.runtime              3       43.00      0.00            
    time                    3       12.11      0.17            
==============================================================================


std output for change run:
=========================
bash-3.2$ cat change
Using properties in properties.change
Unknown property: j2se.optons, ignored
Warning: component property should be set: assuming j2se
Warning: /tmp/shafi/Change//bin/javaws not found:
		check j2se.home or j2se.javaws
Warning: /tmp/shafi/Change//bin/javaws not found:
		check j2se.home or j2se.javaws
Running Reference Workload Version 0.85beta1
Nightly bundle:  Thu Feb 11 03:03:42 PST 2016
Results will be stored in /tmp/shafi/logs.change
Using collectors: core hserr perfdata
Running in warm mode
Running scimark iteration=1
Running scimark iteration=2
Running scimark iteration=3
Running jetstream iteration=1
Running jetstream iteration=2
Running jetstream iteration=3
Running specjbb2000 iteration=1
=========== TIMEOUT ===========
specjbb2000 has exceeded 90 minutes - terminated
chmod: WARNING: can't access /export5/users/shshahma/refworkload/benchmarks/specjbb2000/results
mv: cannot access /export5/users/shshahma/refworkload/benchmarks/specjbb2000/results
Running specjbb2000 iteration=2
Running specjbb2000 iteration=3
Running specjvm98 iteration=1
Running specjvm98 iteration=2
Running specjvm98 iteration=3
Running volano29 iteration=1
Running volano29 iteration=2
Running volano29 iteration=3
==============================================================================
/tmp/shafi/logs.change:
  Benchmark           Samples        Mean     Stdev             Geomean Weight
  jetstream                 3       20.16      0.34            
    Copy                    3      439.33     28.02            
    Parse                   3      621.00      4.36            
    Read                    3      188.33      2.08            
    Write                   3     1180.67     26.31            
    rw.runtime              3       27.67      0.58            
  scimark                   3       16.14      0.07            
    FFT                     3        7.79      0.26            
    LU                      3       20.41      0.19            
    Monte                   3       13.40      0.63            
    SOR                     3       22.47      0.13            
    Sparse                  3       16.63      0.47            
    rw.runtime              3       69.33      0.58            
  specjbb2000               3    42773.46   5637.47            
    First_Warehouse         3     6718.81    214.49            
    Last_Warehouse          3    42773.46   5637.47            
    rw.runtime              3     2225.33   2751.07            
  specjvm98                 3       41.50      0.19            
    compress                3       64.15      0.54            
    db                      3       23.69      0.20            
    jack                    3       50.79      0.35            
    javac                   3       29.41      0.38            
    jess                    3       52.55      0.35            
    mpegaudio               3       26.32      0.02            
    mtrt                    3       67.52      2.06            
    rw.runtime              3      681.67      0.58            
  volano29                  3   100715.67   1377.40            
    connections             3      400.00      0.00            
    rw.runtime              3      344.00      4.36            
    time                    3      317.77      4.37            
==============================================================================


std output of ./comare script
=============================

bash-3.2$ ./compare -rr /tmp/shafi/logs.clean /tmp/shafi/logs.change
==============================================================================
/tmp/shafi/logs.clean:
  Benchmark           Samples        Mean     Stdev             Geomean Weight
  jetstream                 3       18.93      1.95            
    Copy                    3      565.67    184.80            
    Parse                   3      629.00     33.96            
    Read                    3      190.33     12.66            
    Write                   3     1208.67     38.99            
    rw.runtime              3       26.67      0.58            
  scimark                   3       16.23      0.20            
    FFT                     3        7.77      0.11            
    LU                      3       20.28      0.13            
    Monte                   3       14.06      0.13            
    SOR                     3       22.93      0.12            
    Sparse                  3       16.11      0.87            
    rw.runtime              3       67.67      2.31            
  specjbb2000               3    39881.35   4203.83            
    First_Warehouse         3     6375.15     46.90            
    Last_Warehouse          3    39881.35   4203.83            
    rw.runtime              3      641.67      3.79            
  specjvm98                 3       39.56      0.75            
    compress                3       60.09      4.31            
    db                      3       22.89      0.83            
    jack                    3       48.67      0.75            
    javac                   3       27.88      0.87            
    jess                    3       49.40      1.11            
    mpegaudio               3       25.57      0.36            
    mtrt                    3       64.45      0.75            
    rw.runtime              3      721.33     17.56            
  volano25                  3    66080.67    932.11            
    connections             3      400.00      0.00            
    rw.runtime              3       43.00      0.00            
    time                    3       12.11      0.17            
==============================================================================
/tmp/shafi/logs.change:
  Benchmark           Samples        Mean     Stdev   %Diff     P  Significant
  jetstream                 3       20.16      0.34    6.49 0.390            *
    Copy                    3      439.33     28.02   22.33 0.358            *
    Parse                   3      621.00      4.36    1.27 0.724            *
    Read                    3      188.33      2.08    1.05 0.811            *
    Write                   3     1180.67     26.31    2.32 0.368            *
    rw.runtime              3       27.67      0.58   -3.75 0.000          Yes
  scimark                   3       16.14      0.07   -0.51 0.547            *
    FFT                     3        7.79      0.26    0.32 0.890            *
    LU                      3       20.41      0.19    0.62 0.408            *
    Monte                   3       13.40      0.63   -4.69 0.207            *
    SOR                     3       22.47      0.13   -2.00 0.012            *
    Sparse                  3       16.63      0.47    3.24 0.427            *
    rw.runtime              3       69.33      0.58   -2.46 0.337            *
  specjbb2000               3    42773.46   5637.47    7.25 0.519            *
    First_Warehouse         3     6718.81    214.49    5.39 0.103            *
    Last_Warehouse          3    42773.46   5637.47    7.25 0.519            *
    rw.runtime              3     2225.33   2751.07 -246.81 0.424            *
  specjvm98                 3       41.50      0.19    4.90 0.039            *
    compress                3       64.15      0.54    6.76 0.243            *
    db                      3       23.69      0.20    3.51 0.230            *
    jack                    3       50.79      0.35    4.36 0.025            *
    javac                   3       29.41      0.38    5.49 0.077            *
    jess                    3       52.55      0.35    6.38 0.030            *
    mpegaudio               3       26.32      0.02    2.95 0.066            *
    mtrt                    3       67.52      2.06    4.76 0.111            *
    rw.runtime              3      681.67      0.58    5.50 0.059            *
Error comparing /tmp/shafi/logs.change: 
    baseline and specimen must have the same name
==============================================================================


More information about the hotspot-runtime-dev mailing list