Looking at inline reports, before precise this:
-methodOpt spec.benchmarks._201_compress.Compressor compress ()V
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 6
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
after precise this:
-methodOpt spec.benchmarks._201_compress.Compressor compress ()V
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 6
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress
()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress
()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compr
ess ()V at bytecode 208
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.output (I)V at bytecode 227
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.output (I)V at bytecode 347
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compres
s ()V at bytecode 251
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 208
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 227
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 347
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
In other words, making this for final classes precise causes a lot more inlining in Compressor.compress and this is costing the ~10% of execution time.
Looking at inline reports, before precise this:
-methodOpt spec.benchmarks._201_compress.Compressor compress ()V
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 6
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
after precise this:
-methodOpt spec.benchmarks._201_compress.Compressor compress ()V
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 6
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress
()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress
()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compr
ess ()V at bytecode 208
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.output (I)V at bytecode 227
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.output (I)V at bytecode 347
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.o
utput (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compres
s ()V at bytecode 251
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Input_Buffer; >.getbyte ()I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.com
press ()V at bytecode 297
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor$Hash_Table; >.clear ()V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor
; >.compress ()V at bytecode 66
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 126
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.of (I)I into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 192
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 208
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 227
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.writebytes ([BI)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 347
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Output_Buffer; >.putbyte (B)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.output (I)V at bytecode 175
Inline < SystemAppCL, Lspec/benchmarks/_201_compress/Code_Table; >.set (II)V into < SystemAppCL, Lspec/benchmarks/_201_compress/Compressor; >.compress ()V at bytecode 251
In other words, making this for final classes precise causes a lot more inlining in Compressor.compress and this is costing the ~10% of execution time.