~ chicken-core (chicken-5) 58e7441092882331e1eaca44e55b6953cfd1222e
commit 58e7441092882331e1eaca44e55b6953cfd1222e Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sun Jul 12 17:21:30 2015 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sun Jul 12 17:21:30 2015 +0200 dropped obsolete rest-vector rewrites in c-platform diff --git a/c-platform.scm b/c-platform.scm index b3e6846b..5b082f3a 100644 --- a/c-platform.scm +++ b/c-platform.scm @@ -460,11 +460,10 @@ (rewrite '##sys#apply 8 rewrite-apply) ) (let () - (define (rewrite-c..r op iop1 iop2 index) + (define (rewrite-c..r op iop1 iop2) (rewrite op 8 (lambda (db classargs cont callargs) - ;; (<op> <rest-vector>) -> (##core#inline "C_i_vector_ref"/"C_slot" <rest-vector> (quote <index>)) ;; (<op> <x>) -> (##core#inline <iop1> <x>) [safe] ;; (<op> <x>) -> (##core#inline <iop2> <x>) [unsafe] (and (= (length callargs) 1) @@ -475,28 +474,20 @@ '##core#call (list #t) (list cont - (cond [(and (eq? '##core#variable (node-class arg)) - (eq? 'vector (get db (first (node-parameters arg)) 'rest-parameter)) ) - (make-node - '##core#inline - (if unsafe - '("C_slot") - '("C_i_vector_ref") ) - (list arg (qnode index)) ) ] - [(and unsafe iop2) (make-node '##core#inline (list iop2) callargs)] + (cond [(and unsafe iop2) (make-node '##core#inline (list iop2) callargs)] [iop1 (make-node '##core#inline (list iop1) callargs)] [else (return #f)] ) ) ) ) ) ) ) ) ) ) - (rewrite-c..r 'car "C_i_car" "C_u_i_car" 0) - (rewrite-c..r '##sys#car "C_i_car" "C_u_i_car" 0) - (rewrite-c..r '##sys#cdr "C_i_cdr" "C_u_i_cdr" 0) - (rewrite-c..r 'cadr "C_i_cadr" "C_u_i_cadr" 1) - (rewrite-c..r 'caddr "C_i_caddr" "C_u_i_caddr" 2) - (rewrite-c..r 'cadddr "C_i_cadddr" "C_u_i_cadddr" 3) - (rewrite-c..r 'first "C_i_car" "C_u_i_car" 0) - (rewrite-c..r 'second "C_i_cadr" "C_u_i_cadr" 1) - (rewrite-c..r 'third "C_i_caddr" "C_u_i_caddr" 2) - (rewrite-c..r 'fourth "C_i_cadddr" "C_u_i_cadddr" 3) ) + (rewrite-c..r 'car "C_i_car" "C_u_i_car") + (rewrite-c..r '##sys#car "C_i_car" "C_u_i_car") + (rewrite-c..r '##sys#cdr "C_i_cdr" "C_u_i_cdr") + (rewrite-c..r 'cadr "C_i_cadr" "C_u_i_cadr") + (rewrite-c..r 'caddr "C_i_caddr" "C_u_i_caddr") + (rewrite-c..r 'cadddr "C_i_cadddr" "C_u_i_cadddr") + (rewrite-c..r 'first "C_i_car" "C_u_i_car") + (rewrite-c..r 'second "C_i_cadr" "C_u_i_cadr") + (rewrite-c..r 'third "C_i_caddr" "C_u_i_caddr") + (rewrite-c..r 'fourth "C_i_cadddr" "C_u_i_cadddr") ) (let ([rvalues (lambda (db classargs cont callargs)Trap