From 299908a885d00ec735070a937f9720410fe224a9 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Thu, 17 Oct 2019 20:07:19 -0400 Subject: Ported JVM pattern-matching & loop generation to the new JVM bytecode machinery. --- new-luxc/source/luxc/lang/translation/jvm/loop.lux | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'new-luxc/source/luxc/lang/translation/jvm/loop.lux') diff --git a/new-luxc/source/luxc/lang/translation/jvm/loop.lux b/new-luxc/source/luxc/lang/translation/jvm/loop.lux index 5b4f981f6..bc5ca5b98 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/loop.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/loop.lux @@ -22,14 +22,14 @@ ["_" inst]]]]] ["." //]) -(def: (constant? register changeS) +(def: (invariant? register changeS) (-> Register Synthesis Bit) (case changeS (^ (synthesis.variable/local var)) (n.= register var) _ - #0)) + false)) (def: #export (recur translate argsS) (-> Phase (List Synthesis) (Operation Inst)) @@ -48,13 +48,13 @@ ## should be the case. valuesI+ (monad.map @ (function (_ [register argS]) (: (Operation Inst) - (if (constant? register argS) + (if (invariant? register argS) (wrap function.identity) (translate argS)))) pairs) #let [storesI+ (list/map (function (_ [register argS]) (: Inst - (if (constant? register argS) + (if (invariant? register argS) function.identity (_.ASTORE register)))) (list.reverse pairs))]] -- cgit v1.2.3