Fix new optimization to use the new loggin facilities.
original commit: c5d46449b774eedf02877d1bbe8a6fb3f1b173cb
This commit is contained in:
parent
6e218da463
commit
6b5104aba7
|
@ -1,18 +1,18 @@
|
|||
#;
|
||||
(
|
||||
TR opt: known-length-lists.rkt 39:1 length -- known-length list length
|
||||
TR opt: known-length-lists.rkt 40:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 41:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 42:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 43:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 44:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 45:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 46:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 47:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 48:1 list-ref -- known-length list op
|
||||
TR opt: known-length-lists.rkt 49:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 50:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 51:1 list-tail -- known-length list op
|
||||
TR opt: known-length-lists.rkt 39:0 (length l) -- known-length list length
|
||||
TR opt: known-length-lists.rkt 40:0 (list-ref l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 41:0 (list-ref l j) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 42:0 (list-ref l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 43:0 (list-tail l i) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 44:0 (list-tail l j) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 45:0 (list-tail l k) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 46:0 (list-ref l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 47:0 (list-ref l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 48:0 (list-ref l 2) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 49:0 (list-tail l 0) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 50:0 (list-tail l 1) -- known-length list op
|
||||
TR opt: known-length-lists.rkt 51:0 (list-tail l 2) -- known-length list op
|
||||
'(1 2 3)
|
||||
3
|
||||
1
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#;
|
||||
(
|
||||
TR opt: unary-fixnum-nested.rkt 11:0 (bitwise-not (bitwise-not (length (quote (1 2 3))))) -- unary fixnum
|
||||
TR opt: unary-fixnum-nested.rkt 11:13 (bitwise-not (length (quote (1 2 3)))) -- unary fixnum
|
||||
TR opt: unary-fixnum-nested.rkt 12:0 (bitwise-not (bitwise-not (length (quote (1 2 3))))) -- unary fixnum
|
||||
TR opt: unary-fixnum-nested.rkt 12:13 (bitwise-not (length (quote (1 2 3)))) -- unary fixnum
|
||||
TR opt: unary-fixnum-nested.rkt 12:26 (length (quote (1 2 3))) -- known-length list length
|
||||
3
|
||||
)
|
||||
|
||||
|
|
|
@ -41,12 +41,16 @@
|
|||
[_ -1])))) ; sure to fail the next check
|
||||
(<= 0 ival (sub1 len)))
|
||||
#:with opt
|
||||
(begin (log-optimization "known-length list op" #'op)
|
||||
(begin (log-optimization "known-length list op"
|
||||
"List access specialization."
|
||||
this-syntax)
|
||||
#`(op.unsafe l.opt #,((optimize) #'i))))
|
||||
;; We know the length of known-length lists statically.
|
||||
(pattern (#%plain-app (~and op (~literal length)) l:known-length-list-expr)
|
||||
#:with opt
|
||||
(begin (log-optimization "known-length list length" #'op)
|
||||
(begin (log-optimization "known-length list length"
|
||||
"Static list length computation."
|
||||
this-syntax)
|
||||
(match (type-of #'l)
|
||||
[(tc-result1: (List: es))
|
||||
#`(begin l.opt #,(length es))]))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user