From 7cbe516e7e3c56f249515744d76fbc3ee9653068 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 26 Oct 2016 19:43:05 -0400 Subject: - Slight optimization to bool PM. --- src/lux/base.clj | 3 +++ src/lux/compiler/case.clj | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lux/base.clj b/src/lux/base.clj index da5ef48f8..a4e2c3096 100644 --- a/src/lux/base.clj +++ b/src/lux/base.clj @@ -298,6 +298,9 @@ (defmacro |let [bindings body] (reduce (fn [inner [left right]] + (if (symbol? left) + `(let [~left ~right] + ~inner)) `(|case ~right ~left ~inner)) diff --git a/src/lux/compiler/case.clj b/src/lux/compiler/case.clj index 9d709bae2..9acf3854d 100644 --- a/src/lux/compiler/case.clj +++ b/src/lux/compiler/case.clj @@ -72,8 +72,7 @@ (doto writer stack-peek &&/unwrap-boolean - (.visitLdcInsn _value) - (.visitJumpInsn Opcodes/IF_ICMPNE $else)) + (.visitJumpInsn (if _value Opcodes/IFEQ Opcodes/IFNE) $else)) (&o/$NatPM _value) (doto writer -- cgit v1.2.3