Optimize the bit array walker in the slot tracer

NEW
Unassigned

Status

Tamarin
Garbage Collection (mmGC)
P3
normal
7 years ago
7 years ago

People

(Reporter: Lars T Hansen, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
Q1 12 - Brannan
Bug Flags:
flashplayer-qrb +

Details

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
The bit array walker is currently using the simple but fairly expensive bit walking functionality in FixedBitSet.  It's straightforward to provide an API with better performance characteristics; the code will be lifted out of a tentative patch on bug 650102.
(Reporter)

Comment 1

7 years ago
Created attachment 529462 [details] [diff] [review]
Patch
(Reporter)

Comment 2

7 years ago
It's a wash on V8.5.  Most likely we'll need to test a microbenchmark that has a larger set of slots, some number of which are not pointers.

                                      avm          avm2
test                          best    avg   best    avg  %dBst  %dAvg
Metric: v8 custom v8 normalized metric (hardcoded in the test)
Dir: v8.5/js/
  crypto                       530  528.6    529  527.7   -0.2   -0.2   
  deltablue                    379  378.7    380    379    0.3    0.1   
  earley-boyer                1228 1220.4   1238 1221.3    0.8    0.1   
  raytrace                     790  789.7    787  785.8   -0.4   -0.5 - 
  regexp                       114  113.7    114  113.1      0   -0.5   
  richards                     310    310    311  310.2    0.3    0.1 + 
  splay                        943  942.6    950  947.3    0.7    0.5 + 
Dir: v8.5/optimized/
  crypto                      4257 4256.4   4252 4243.7   -0.1   -0.3   
  deltablue                   4082 4059.3   4040 4023.7   -1.0   -0.9 - 
  earley-boyer                1237   1229   1238   1226    0.1   -0.2   
  raytrace                    9848 9825.9   9799 9783.1   -0.5   -0.4 - 
  regexp                       114  113.4    113    113   -0.9   -0.4 - 
  richards                    4416 4413.6   4372 4365.1   -1.0   -1.1 - 
  splay                       7158 7134.8   7102   7084   -0.8   -0.7 - 
Dir: v8.5/typed/
  crypto                      3320 3313.7   3334 3330.9    0.4    0.5 + 
  deltablue                   4110 4076.5   4089 4064.3   -0.5   -0.3   
  earley-boyer                1234 1227.8   1232 1224.2   -0.2   -0.3   
  raytrace                    9867 9845.7   9818 9772.7   -0.5   -0.7 - 
  regexp                       114  113.6    114    113      0   -0.5   
  richards                    4422 4411.2   4377 4370.8   -1.0   -0.9 - 
  splay                       1215 1212.7   1227 1217.9    1.0    0.4 +
(Reporter)

Comment 3

7 years ago
Deferring due to clear benefits.
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Target Milestone: Q3 11 - Serrano → Q4 11 - Anza
(Reporter)

Updated

7 years ago
Target Milestone: Q4 11 - Anza → Q1 12 - Brannan

Updated

7 years ago
Flags: flashplayer-qrb+
You need to log in before you can comment on or make changes to this bug.