fix JIT bug related to list-ref' and
list-tail'
Closes PR 12688
This commit is contained in:
parent
f968ca3db6
commit
104e70bf65
|
@ -1930,6 +1930,21 @@
|
|||
|
||||
(err/rt-test (call/cc (lambda (k) (/ 1 2 0))))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Check slow path on `list-tail', where
|
||||
;; index is > 10000:
|
||||
|
||||
(test 4.8
|
||||
'list-ref-test
|
||||
(let loop ((line 0))
|
||||
(let* ((numlist (build-list 20004 (lambda (x) 2.4)))
|
||||
(n (length numlist)))
|
||||
(let* ((mid (/ n 2))
|
||||
(n1 (car numlist))
|
||||
(n2 (list-ref numlist mid)))
|
||||
(for-each values numlist)
|
||||
(+ n1 n2)))))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(report-errs)
|
||||
|
|
|
@ -2424,6 +2424,7 @@ int scheme_generate_inlined_binary(mz_jit_state *jitter, Scheme_App3_Rec *app, i
|
|||
|| IS_NAMED_PRIM(rator, "list-tail")) {
|
||||
generate_two_args(app->rand1, app->rand2, jitter, 1, 2);
|
||||
|
||||
mz_rs_sync();
|
||||
if (IS_NAMED_PRIM(rator, "list-ref"))
|
||||
(void)jit_calli(sjc.list_ref_code);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue
Block a user