From 026b8d39e04e9c6bae736cd37b8dc35acb2e572d Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 21 Apr 2018 18:56:02 -0700 Subject: [PATCH] Change SVM compiler to use new pop-return instruction. --- src/compiler/machines/svm/machine.scm | 1 + src/compiler/machines/svm/rules.scm | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/compiler/machines/svm/machine.scm b/src/compiler/machines/svm/machine.scm index 4f1ee7093..80546d04e 100644 --- a/src/compiler/machines/svm/machine.scm +++ b/src/compiler/machines/svm/machine.scm @@ -285,6 +285,7 @@ USA. (cdr form)))))) (define-interrupt-tests dynamic-link procedure continuation ic-procedure) +(define-inst pop-return) ;;;; Machine registers, register references. diff --git a/src/compiler/machines/svm/rules.scm b/src/compiler/machines/svm/rules.scm index 639ab9b79..37ea00525 100644 --- a/src/compiler/machines/svm/rules.scm +++ b/src/compiler/machines/svm/rules.scm @@ -600,9 +600,7 @@ USA. (let ((checks (get-exit-interrupt-checks))) (LAP ,@(clear-map!) ,@(if (null? checks) '() (inst:interrupt-test-continuation)) - ,@(inst:load 'WORD rref:word-0 (ea:stack-pop)) - ,@(inst:object-address rref:word-0 rref:word-0) - ,@(inst:jump (ea:indirect rref:word-0))))) + ,@(inst:pop-return)))) (define-rule statement (INVOCATION:APPLY (? frame-size) (? continuation)) -- 2.25.1