<commit_before>;;;;; tré – Copyright (c) 2009–2013 <NAME> <<EMAIL>>

(defun unassigned-%stackarg? (x)
  (& (%stackarg? x) ..x))

(defun unassigned-%stack? (x)
  (& (%stack? x) ..x))

(defun unassigned-%vec? (x)
  (& (%vec? x) ...x))

(defun unassigned-%set-vec? (x)
  (& (%set-vec? x) ....x))

(defun place-assign-error (x v)
  (error "Can't assign place because the index in lexicals for ~A is missing in ~A." v x))

(defun place-assign-stackarg (x)
  (let fi (get-funinfo .x.)
    (? (transpiler-arguments-on-stack? *transpiler*)
       (+ (length (funinfo-vars fi)) (- (length (funinfo-args fi)) (funinfo-arg-pos fi ..x.) 1))
       (error "Cannot assign stack argument ~A." ..x.))))

(define-tree-filter place-assign (x)
  (| (%quote? x)
     (%%native? x))  x
  (unassigned-%stackarg? x)    `(%stack ,(place-assign-stackarg x))
  (unassigned-%stack? x)       `(%stack ,(| (funinfosym-var-pos .x. ..x.)
                                            (place-assign-stackarg x)))
  (unassigned-%vec? x)         `(%vec ,(place-assign .x.)
		                              ,(| (funinfosym-lexical-pos ..x. ...x.)
                                          (place-assign-error x ...x.)))
  (unassigned-%set-vec? x)     `(%set-vec ,(place-assign .x.)
		                                  ,(| (funinfosym-lexical-pos ..x. ...x.)
                                              (place-assign-error x ...x.))
                                          ,(place-assign ....x.))
  (named-lambda? x)            (copy-lambda x :body (place-assign (lambda-body x)))
  (%slot-value? x)             `(%slot-value ,(place-assign .x.) ,..x.))<commit_msg>Stack place offsets are integers.<commit_after>;;;;; tré – Copyright (c) 2009–2013 <NAME> <<EMAIL>>

(defun unassigned-%stackarg? (x)
  (& (%stackarg? x) ..x))

(defun unassigned-%stack? (x)
  (& (%stack? x) ..x))

(defun unassigned-%vec? (x)
  (& (%vec? x) ...x))

(defun unassigned-%set-vec? (x)
  (& (%set-vec? x) ....x))

(defun place-assign-error (x v)
  (error "Can't assign place because the index in lexicals for ~A is missing in ~A." v x))

(defun place-assign-stackarg (x)
  (let fi (get-funinfo .x.)
    (? (transpiler-arguments-on-stack? *transpiler*)
       (integer (+ (length (funinfo-vars fi)) (- (length (funinfo-args fi)) (funinfo-arg-pos fi ..x.) 1)))
       (error "Cannot assign stack argument ~A." ..x.))))

(define-tree-filter place-assign (x)
  (| (%quote? x)
     (%%native? x))  x
  (unassigned-%stackarg? x)    `(%stack ,(place-assign-stackarg x))
  (unassigned-%stack? x)       `(%stack ,(| (funinfosym-var-pos .x. ..x.)
                                            (place-assign-stackarg x)))
  (unassigned-%vec? x)         `(%vec ,(place-assign .x.)
		                              ,(| (funinfosym-lexical-pos ..x. ...x.)
                                          (place-assign-error x ...x.)))
  (unassigned-%set-vec? x)     `(%set-vec ,(place-assign .x.)
		                                  ,(| (funinfosym-lexical-pos ..x. ...x.)
                                              (place-assign-error x ...x.))
                                          ,(place-assign ....x.))
  (named-lambda? x)            (copy-lambda x :body (place-assign (lambda-body x)))
  (%slot-value? x)             `(%slot-value ,(place-assign .x.) ,..x.))
{'fraction_non_alphanumeric': 0.20577507598784195, 'fraction_numerical': 0.00547112462006079, 'mean_word_length': 1.704190632703369, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2552624', 'n_tokens_mistral': 1151, 'n_tokens_neox': 1110, 'n_words': 282}