~ chicken-core (chicken-5) 9adc6654a2b777037bb3cd7173f13d19495bd025
commit 9adc6654a2b777037bb3cd7173f13d19495bd025 Author: Peter Bex <peter@more-magic.net> AuthorDate: Sat Aug 22 15:20:20 2015 +0200 Commit: Peter Bex <peter@more-magic.net> CommitDate: Sat Aug 22 15:20:20 2015 +0200 dropped obsolete rest-vector rewrites in c-platform Conflicts: c-platform.scm diff --git a/c-platform.scm b/c-platform.scm index f8630358..cb86c090 100644 --- a/c-platform.scm +++ b/c-platform.scm @@ -342,11 +342,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) @@ -357,24 +356,16 @@ '##core#call (list #t) (list cont - (cond ((and (eq? '##core#variable (node-class arg)) - (eq? 'vector (db-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)) - (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)) + (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") + (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") ) (let ([rvalues (lambda (db classargs cont callargs)Trap