1
0
mirror of https://github.com/m00natic/vlfi.git synced 2025-04-18 16:50:19 +01:00

Fix access to uninitialized measurements when tuning.

This commit is contained in:
Andrey Kotlarski 2014-09-04 15:43:37 +03:00
parent 0d9cc8e488
commit d85f3d43fc

View File

@ -164,24 +164,34 @@ SIZE is number of bytes that are saved."
(defun vlf-tune-assess (type coef index) (defun vlf-tune-assess (type coef index)
"Get measurement value according to TYPE, COEF and INDEX." "Get measurement value according to TYPE, COEF and INDEX."
(* coef (cond ((eq type :insert) (* coef (or (cond ((eq type :insert)
(car (aref vlf-tune-insert-bps index))) (if vlf-tune-insert-bps
((eq type :raw) (car (aref vlf-tune-insert-bps index))))
(car (aref vlf-tune-insert-raw-bps index))) ((eq type :raw)
((eq type :encode) ;encode size is less than batch size (if vlf-tune-insert-raw-bps
(let ((closest-idx index) (car (aref vlf-tune-insert-raw-bps index))))
(val (car (aref vlf-tune-encode-bps index)))) ((eq type :encode) ;encode size is less than batch size
(while (and (zerop val) (not (zerop closest-idx))) (if vlf-tune-encode-bps
(setq closest-idx (1- closest-idx) (let ((closest-idx index)
val (car (aref vlf-tune-encode-bps (val (car (aref vlf-tune-encode-bps
closest-idx)))) index))))
(/ (* val (1+ index)) (1+ closest-idx)))) ;approximate (while (and (zerop val)
((eq type :write) (not (zerop closest-idx)))
(car (aref vlf-tune-write-bps index))) (setq closest-idx (1- closest-idx)
((eq type :hexl) val (car (aref vlf-tune-encode-bps
(car (aref vlf-tune-hexl-bps index))) closest-idx))))
((eq type :dehexlify) (/ (* val (1+ index)) ;approximate
(car (aref vlf-tune-dehexlify-bps index)))))) (1+ closest-idx)))))
((eq type :write)
(if vlf-tune-write-bps
(car (aref vlf-tune-write-bps index))))
((eq type :hexl)
(if vlf-tune-hexl-bps
(car (aref vlf-tune-hexl-bps index))))
((eq type :dehexlify)
(if vlf-tune-dehexlify-bps
(car (aref vlf-tune-dehexlify-bps index)))))
0)))
(defun vlf-tune-score (types index) (defun vlf-tune-score (types index)
"Cumulative speed over TYPES which is alist of (type coef) for INDEX." "Cumulative speed over TYPES which is alist of (type coef) for INDEX."