Commits

Even Wiik Thomassen committed 39e9470

Remove some old crap

Comments (0)

Files changed (8)

lambdachine/Makefile

-.SUFFIXES:  # delete default rules
-
-# Put local customisations into `mk/build.mk`.
--include mk/build.mk
-
-# DIST must be an absolute directory
-ifeq ($(DIST),)
-DIST := $(shell pwd)/dist
-endif
-
-HC ?= ghc-7.0.4
-HC_PKG ?= ghc-pkg-7.0.4
-CC ?= gcc
-CXX ?= g++
-LIBS ?= -lrt 
-
-ifeq "$(strip $(PerformanceBuild))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DNDEBUG
-endif
-
-ifeq "$(strip $(SelfCheck))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_SELF_CHECK_MODE
-endif
-
-ifeq "$(strip $(DisableJit))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_HAS_JIT=0
-endif
-
-ifneq ($(DebugLevel),)
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_DEBUG_LEVEL=$(DebugLevel)
-endif
-
-ifeq "$(strip $(DisableAsm))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_HAS_ASM_BACKEND=0
-endif
-
-ifeq "$(shell uname)" "Darwin"
-EXTRA_LDFLAGS := $(EXTRA_LDFLAGS) -Wl,-no_pie
-endif
-
-HSBUILDDIR = $(DIST)/build
-LCC = $(HSBUILDDIR)/lcc/lcc
-CABAL ?= cabal
-
-DEPDIR = $(DIST)/.deps
-DEPDIRS = $(DEPDIR) $(DEPDIR)/rts
-
-.PHONY: all
-all: lcvm lcc unittest
-
-ifeq "$(strip $(AutoConfigure))" "yes"
-Makefile: Makefile.in
-	./configure $(AutoConfigureArgs)
-else
-Makefile: Makefile.in
-	@echo "Makefile.in has been modified; re-run ./configure (and ./boot if needed)"
-	@false
-endif
-
-.PHONY: boot
-boot:
-	mkdir -p $(HSBUILDDIR)
-	mkdir -p $(DEPDIR)/rts
-	mkdir -p $(DEPDIR)/rts/codegen
-	mkdir -p $(DEPDIR)/vm
-	mkdir -p $(DEPDIR)/vm/amd64
-	mkdir -p $(DEPDIR)/utils
-	test -f mk/build.mk || touch mk/build.mk
-
-INCLUDES = -Iincludes -Irts -Irts/codegen -Ivm
-CFLAGS = -g -Wall $(EXTRA_CFLAGS)
-CXXFLAGS = -g -Wall $(EXTRA_CXXFLAGS)
-
-df = $(DEPDIR)/$(*D)/$(*F)
-
-#SRCS := $(wildcard rts/*.c)
-SRCS = rts/Bytecode.c rts/Capability.c rts/ClosureFlags.c \
-       rts/FileUtils.c rts/HashTable.c rts/InterpThreaded.c \
-       rts/Loader.c rts/MiscClosures.c rts/PrintClosure.c \
-       rts/Thread.c rts/StorageManager.c \
-       rts/Main.c \
-       rts/Record.c rts/PrintIR.c rts/OptimiseIR.c \
-       rts/Snapshot.c rts/HeapInfo.c rts/Bitset.c \
-       rts/InterpIR.c rts/Stats.c \
-       rts/codegen/MCode.c rts/codegen/InterpAsm.c \
-       rts/codegen/AsmCodeGen.c \
-       rts/GC.c rts/ShadowHeap.c \
-	rts/Jit.c
-
-UTILSRCS = utils/genopcodes.cc
-
-echo:
-	@echo "SRCS = $(SRCS)"
-#SRCS = rts/Loader.c rts/HashTable.c
-
-#
-# === GoogleTest =======================================================
-#
-
-GTEST_VERSION=1.6.0
-UNZIP=unzip
-AT=@
-GTEST_DEFS=-DGTEST_HAS_PTHREAD=0
-GTEST_DIR=utils/gtest-$(GTEST_VERSION)
-GTEST_A=$(GTEST_DIR)/libgtest.a
-
-$(GTEST_DIR): $(GTEST_DIR).zip
-	cd `dirname $(GTEST_DIR)` && $(UNZIP) -o `basename $<`
-
-${GTEST_DIR}/src/gtest-all.cc: ${GTEST_DIR} 
-
-$(GTEST_DIR)/src/gtest-all.o: ${GTEST_DIR}/src/gtest-all.cc 
-	@echo "Compiling googletest framework"
-	$(CXX) -I${GTEST_DIR}/include -I${GTEST_DIR} $(GTEST_DEFS) -c $< -o $@
-
-$(GTEST_A): $(GTEST_DIR)/src/gtest-all.o
-	ar -rv $@ $<
-
-# ======================================================================
-
-interp: $(SRCS:.c=.o)
-	@echo "LINK $(EXTRA_LDFLAGS) $^ => $@"
-	@$(CC) $(EXTRA_LDFLAGS) -o $@ $^
-
-lcc: $(LCC)
-	ln -fs $(LCC) $@
-
-vm/unittest.o: $(GTEST_A)
-
-# Building a C file automatically generates dependencies as a side
-# effect.  This only works with `gcc'.
-#
-# The dependency file for `rts/Foo.c' lives at `.deps/rts/Foo.c'.
-#
-%.o: %.c mk/build.mk
-	@echo "CC $(CFLAGS) $< => $@"
-	@$(CC) -c $(INCLUDES) -MD -MF $(patsubst %.c,$(DEPDIR)/%.d,$<) $(CFLAGS) -o $@ $<
-	@cp $(df).d $(df).P; \
-	    sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-	        -e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
-	rm -f $(df).d
-
-%.o: %.cc mk/build.mk
-	@echo "CXX $(CXXFLAGS) $< => $@"
-	@$(CXX) -c $(INCLUDES) -I$(GTEST_DIR)/include $(GTEST_DEFS) \
-	        -MD -MF $(patsubst %.cc,$(DEPDIR)/%.d,$<) \
-		$(CXXFLAGS) -o $@ $<
-	@cp $(df).d $(df).P; \
-	    sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-	        -e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
-	rm -f $(df).d
-
-VM_SRCS = vm/thread.cc vm/capability.cc vm/memorymanager.cc \
-	  vm/loader.cc vm/fileutils.cc vm/bytecode.cc vm/objects.cc \
-	  vm/miscclosures.cc vm/options.cc vm/jit.cc vm/amd64/fragment.cc \
-	  vm/machinecode.cc vm/assembler.cc vm/ir.cc vm/ir_fold.cc \
-	  vm/time.cc
-
-VM_SRCS_ALL = $(VM_SRCS) vm/main.cc
-
-TEST_FILES := tests/Bc/Bc0016.lcbc tests/Bc/Bc0014.lcbc \
-	tests/Bc/Bc0017.lcbc \
-	tests/Bc/TailCallExact.lcbc tests/Bc/TailCallOverapply.lcbc \
-	tests/Bc/TailCallPap.lcbc tests/Bc/Paps.lcbc \
-	tests/Bc/Gc01.lcbc tests/Bc/Gc02.lcbc tests/Bc/Gc03.lcbc \
-	tests/Bench/Primes.lcbc tests/Bench/Append.lcbc \
-	tests/Bench/SumFromTo1.lcbc tests/Bench/SumFromTo2.lcbc \
-	tests/Bench/SumFromTo3.lcbc tests/Bench/SumFromTo4.lcbc \
-	tests/Bench/SumSquare1.lcbc tests/Bc/SumNoAlloc.lcbc \
-	tests/Bc/SumMemLoad.lcbc tests/Bc/Alloc1.lcbc \
-	tests/Bc/EvalThunk.lcbc tests/Bc/TraceCall.lcbc \
-	tests/Bc/QuotRem.lcbc tests/Bc/SumEvalThunk.lcbc \
-	tests/Bc/SumDict.lcbc tests/Bc/SumCall1.lcbc \
-	tests/Bc/Side0001.lcbc tests/Bc/Side0002.lcbc \
-	tests/Bc/Side0003.lcbc \
-	tests/Bc/RealWorld.lcbc tests/Bc/SharedFail.lcbc \
-	tests/Bc/MultiReturn.lcbc tests/Bc/MultiReturn2.lcbc \
-	tests/Bc/MultiReturn3.lcbc tests/Bc/MultiReturnJit.lcbc
-
-lcvm: $(VM_SRCS:.cc=.o) vm/main.o
-	@echo "LINK $(filter %.o %.a, $^) => $@"
-	@$(CXX) -o $@ $(filter %.o %.a, $^) $(LIBS)
-
-unittest: lcc $(TEST_FILES)
-
-unittest: vm/unittest.o $(GTEST_A) $(VM_SRCS:.cc=.o)
-	@echo "LINK $(filter %.o %.a, $^) => $@"
-	$(CXX) -o $@ $(filter %.o %.a, $^) $(LIBS)
-
-bcdump: vm/bcdump.o $(VM_SRCS:.cc=.o)
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^ $(LIBS)
-
-.PHONY: test
-test: unittest
-	@./unittest 2> /dev/null # ignore debug output
-
-.PHONY: asmtest irtest
-asmtest: unittest
-	@./unittest --gtest_filter=AsmTest*
-
-irtest: unittest
-	@./unittest --gtest_filter=IRTest*
-
-.PHONY: fixstyle
-fixstyle:
-	astyle --style=java --lineend=linux -s2 --convert-tabs \
-		--preserve-date --indent-labels \
-	        --pad-header --align-pointer=name --pad-oper -n \
-		$(VM_SRCS)
-
-.PHONY: analyse analyze
-analyze: analyse
-analyse: $(VM_SRCS)
-	clang++ --analyze -I$(GTEST_DIR)/include -Ivm $^
-
-utils/genopcodes: utils/genopcodes.o
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^
-
-utils/print_config: utils/print_config.o
-	@echo "LINK $^ => $@"
-	@$(CC) -o $@ $^
-
-utils/genirfoldmacros: utils/genirfoldmacros.o
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^
-
-vm/irfoldmacros.hh: vm/ir.hh utils/genirfoldmacros
-	./utils/genirfoldmacros $@
-
-vm/ir_fold.o: vm/irfoldmacros.hh
-
-compiler/Opcodes.h: utils/genopcodes
-	./$< > $@
-
-HSDEPFILE = compiler/.depend
-
-HSFLAGS = -hide-all-packages \
-          -package ghc -package base -package filepath -package process -package directory -package containers \
-          -package ghc-paths -package cmdargs -package mtl -package blaze-builder -package vector \
-          -package utf8-string -package bytestring -package array -package ansi-wl-pprint -package binary \
-          -package uniplate -package hoopl -package value-supply \
-          -package graph-serialize -package temporary \
-          -icompiler \
-          -odir $(HSBUILDDIR) -hidir $(HSBUILDDIR)
-
-$(HSDEPFILE):
-	$(HC) -M $(HSFLAGS) compiler/Main.hs -dep-makefile $(HSDEPFILE)
-
-# include $(HSDEPFILE)
-
-%.hi: %.o
-	@:
-
-%.o: %.hs
-	$(HC) -c $< $(HSFLAGS)
-
-HSSRCS := $(shell find compiler -name '*.hs')
-
-# Fixme: We let the compiler depend on the source files not the .o
-# files.  This actually doesn't always work.  Fortunately,
-#
-#    make clean && make boot && make
-#
-# is pretty quick.
-
-# .PHONY:
-
-$(DIST)/setup-config: lambdachine.cabal
-	$(CABAL) configure --with-compiler=$(HC) --with-hc-pkg=$(HC_PKG)
-
-$(LCC): $(HSSRCS) compiler/Opcodes.h $(DIST)/setup-config
-	@mkdir -p $(HSBUILDDIR)
-	$(CABAL) build
-
-.PHONY: clean-interp
-clean-interp:
-	rm -f $(SRCS:%.c=%.o) utils/*.o interp
-
-.PHONY: clean cleanvm
-clean:
-	rm -f $(SRCS:%.c=%.o) utils/*.o interp compiler/.depend \
-		compiler/lcc lcc $(DIST)/setup-config vm/*.o \
-		unittest lcvm bcdump \
-		utils/genirfoldmacros vm/irfoldmacros.hh
-	rm -rf $(HSBUILDDIR)
-	find . -name '*.gcov' -or -name '*.gcno' -or -name '*.gcda' | xargs rm -f
-	$(MAKE) -C tests clean
-
-cleanvm:
-	rm -f $(VM_SRCS:%.cc=%.o) unittest
-
-.PHONY: distclean
-distclean: clean
-	rm -rf autom4te.cache
-	rm -f config.status configure config.log vm/autoconfig.h Makefile
-
-.PHONY: install-deps
-install-deps:
-	$(CABAL) install --only-dependencies --with-compiler=$(HC) \
-	  --with-hc-pkg=$(HC_PKG)
-# find compiler -name "*.hi" -delete
-
-# Rules for building built-in packages
-
-LCCFLAGS = --dump-bytecode --dump-core-binds
-
-tests/ghc-prim/%.lcbc: tests/ghc-prim/%.hs
-	cd tests/ghc-prim && \
-	$(LCC) $(LCCFLAGS) --package-name=ghc-prim $(patsubst tests/ghc-prim/%, %, $<)
-
-tests/integer-gmp/%.lcbc: tests/integer-gmp/%.hs
-	cd tests/integer-gmp && \
-	$(LCC) $(LCCFLAGS) --package-name=integer-gmp $(patsubst tests/integer-gmp/%, %, $<)
-
-tests/base/%.lcbc: tests/base/%.hs
-	cd tests/base && \
-	$(LCC) $(LCCFLAGS) --package-name=base $(patsubst tests/base/%, %, $<)
-#	@echo "@ = $@, < = $<"
-
-tests/%.lcbc: tests/%.hs
-	@echo "LCC $< => $@"
-	@cd tests && \
-	 $(LCC) $(LCCFLAGS) $(patsubst tests/%, %, $<)
-
-PRIM_MODULES_ghc-prim = GHC/Bool GHC/Types GHC/Ordering GHC/Tuple
-PRIM_MODULES_integer-gmp = GHC/Integer/Type GHC/Integer
-PRIM_MODULES_base = GHC/Base GHC/Classes GHC/Num GHC/List \
-	Control/Exception/Base
-
-PRIM_MODULES = \
-	$(patsubst %,tests/ghc-prim/%.lcbc,$(PRIM_MODULES_ghc-prim)) \
-	$(patsubst %,tests/integer-gmp/%.lcbc,$(PRIM_MODULES_integer-gmp)) \
-	$(patsubst %,tests/base/%.lcbc,$(PRIM_MODULES_base))
-
-unittest: $(PRIM_MODULES)
-
-.PHONY: check
-TESTS ?= .
-check: $(PRIM_MODULES)
-	@ $(MAKE) -C tests check TESTS=$(TESTS) LITARGS=$(LITARGS)
-
-.PHONY: bench
-bench: $(PRIM_MODULES)
-	$(MAKE) -C tests check TESTS=Bench LITARGS=$(LITARGS)
-
-pr:
-	@echo $(PRIM_MODULES)
-
-clean-bytecode:
-	rm -f $(PRIM_MODULES)
-	$(MAKE) -C tests clean
-
-.PHONY: gtest
-gtest: $(GTEST_A)
-
-bench-ghc/%: tests/Bench/%.hs
-	@mkdir -p bench-ghc
-	$(HC) -O2 -fforce-recomp -DBENCH_GHC $(BENCH_HC_OPTS) -rtsopts -o $@ $<
-
-# -include $(SRCS:%.c=$(DEPDIR)/%.P)
--include $(UTILSRCS:%.cc=$(DEPDIR)/%.P)
--include $(DEPDIR)/vm/unittest.P
--include $(VM_SRCS_ALL:%.cc=$(DEPDIR)/%.P)

lambdachine/Makefile.in

-.SUFFIXES:  # delete default rules
-
-# Put local customisations into `mk/build.mk`.
--include mk/build.mk
-
-# DIST must be an absolute directory
-ifeq ($(DIST),)
-DIST := $(shell pwd)/dist
-endif
-
-HC ?= @HC@
-HC_PKG ?= @HC_PKG@
-CC ?= @CC@
-CXX ?= @CXX@
-LIBS ?= @LIBS@
-
-ifeq "$(strip $(PerformanceBuild))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DNDEBUG
-endif
-
-ifeq "$(strip $(SelfCheck))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_SELF_CHECK_MODE
-endif
-
-ifeq "$(strip $(DisableJit))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_HAS_JIT=0
-endif
-
-ifneq ($(DebugLevel),)
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_DEBUG_LEVEL=$(DebugLevel)
-endif
-
-ifeq "$(strip $(DisableAsm))" "Yes"
-EXTRA_CFLAGS := $(EXTRA_CFLAGS) -DLC_HAS_ASM_BACKEND=0
-endif
-
-ifeq "$(shell uname)" "Darwin"
-EXTRA_LDFLAGS := $(EXTRA_LDFLAGS) -Wl,-no_pie
-endif
-
-HSBUILDDIR = $(DIST)/build
-LCC = $(HSBUILDDIR)/lcc/lcc
-CABAL ?= cabal
-
-DEPDIR = $(DIST)/.deps
-DEPDIRS = $(DEPDIR) $(DEPDIR)/rts
-
-.PHONY: all
-all: lcvm lcc unittest
-
-ifeq "$(strip $(AutoConfigure))" "yes"
-Makefile: Makefile.in
-	./configure $(AutoConfigureArgs)
-else
-Makefile: Makefile.in
-	@echo "Makefile.in has been modified; re-run ./configure (and ./boot if needed)"
-	@false
-endif
-
-.PHONY: boot
-boot:
-	mkdir -p $(HSBUILDDIR)
-	mkdir -p $(DEPDIR)/rts
-	mkdir -p $(DEPDIR)/rts/codegen
-	mkdir -p $(DEPDIR)/vm
-	mkdir -p $(DEPDIR)/vm/amd64
-	mkdir -p $(DEPDIR)/utils
-	test -f mk/build.mk || touch mk/build.mk
-
-INCLUDES = -Iincludes -Irts -Irts/codegen -Ivm
-CFLAGS = -g -Wall $(EXTRA_CFLAGS)
-CXXFLAGS = -g -Wall $(EXTRA_CXXFLAGS)
-
-df = $(DEPDIR)/$(*D)/$(*F)
-
-#SRCS := $(wildcard rts/*.c)
-SRCS = rts/Bytecode.c rts/Capability.c rts/ClosureFlags.c \
-       rts/FileUtils.c rts/HashTable.c rts/InterpThreaded.c \
-       rts/Loader.c rts/MiscClosures.c rts/PrintClosure.c \
-       rts/Thread.c rts/StorageManager.c \
-       rts/Main.c \
-       rts/Record.c rts/PrintIR.c rts/OptimiseIR.c \
-       rts/Snapshot.c rts/HeapInfo.c rts/Bitset.c \
-       rts/InterpIR.c rts/Stats.c \
-       rts/codegen/MCode.c rts/codegen/InterpAsm.c \
-       rts/codegen/AsmCodeGen.c \
-       rts/GC.c rts/ShadowHeap.c \
-	rts/Jit.c
-
-UTILSRCS = utils/genopcodes.cc
-
-echo:
-	@echo "SRCS = $(SRCS)"
-#SRCS = rts/Loader.c rts/HashTable.c
-
-#
-# === GoogleTest =======================================================
-#
-
-GTEST_VERSION=1.6.0
-UNZIP=unzip
-AT=@
-GTEST_DEFS=-DGTEST_HAS_PTHREAD=0
-GTEST_DIR=utils/gtest-$(GTEST_VERSION)
-GTEST_A=$(GTEST_DIR)/libgtest.a
-
-$(GTEST_DIR): $(GTEST_DIR).zip
-	cd `dirname $(GTEST_DIR)` && $(UNZIP) -o `basename $<`
-
-${GTEST_DIR}/src/gtest-all.cc: ${GTEST_DIR} 
-
-$(GTEST_DIR)/src/gtest-all.o: ${GTEST_DIR}/src/gtest-all.cc 
-	@echo "Compiling googletest framework"
-	$(CXX) -I${GTEST_DIR}/include -I${GTEST_DIR} $(GTEST_DEFS) -c $< -o $@
-
-$(GTEST_A): $(GTEST_DIR)/src/gtest-all.o
-	ar -rv $@ $<
-
-# ======================================================================
-
-interp: $(SRCS:.c=.o)
-	@echo "LINK $(EXTRA_LDFLAGS) $^ => $@"
-	@$(CC) $(EXTRA_LDFLAGS) -o $@ $^
-
-lcc: $(LCC)
-	ln -fs $(LCC) $@
-
-vm/unittest.o: $(GTEST_A)
-
-# Building a C file automatically generates dependencies as a side
-# effect.  This only works with `gcc'.
-#
-# The dependency file for `rts/Foo.c' lives at `.deps/rts/Foo.c'.
-#
-%.o: %.c mk/build.mk
-	@echo "CC $(CFLAGS) $< => $@"
-	@$(CC) -c $(INCLUDES) -MD -MF $(patsubst %.c,$(DEPDIR)/%.d,$<) $(CFLAGS) -o $@ $<
-	@cp $(df).d $(df).P; \
-	    sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-	        -e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
-	rm -f $(df).d
-
-%.o: %.cc mk/build.mk
-	@echo "CXX $(CXXFLAGS) $< => $@"
-	@$(CXX) -c $(INCLUDES) -I$(GTEST_DIR)/include $(GTEST_DEFS) \
-	        -MD -MF $(patsubst %.cc,$(DEPDIR)/%.d,$<) \
-		$(CXXFLAGS) -o $@ $<
-	@cp $(df).d $(df).P; \
-	    sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-	        -e '/^$$/ d' -e 's/$$/ :/' < $(df).d >> $(df).P; \
-	rm -f $(df).d
-
-VM_SRCS = vm/thread.cc vm/capability.cc vm/memorymanager.cc \
-	  vm/loader.cc vm/fileutils.cc vm/bytecode.cc vm/objects.cc \
-	  vm/miscclosures.cc vm/options.cc vm/jit.cc vm/amd64/fragment.cc \
-	  vm/machinecode.cc vm/assembler.cc vm/ir.cc vm/ir_fold.cc \
-	  vm/time.cc
-
-VM_SRCS_ALL = $(VM_SRCS) vm/main.cc
-
-TEST_FILES := tests/Bc/Bc0016.lcbc tests/Bc/Bc0014.lcbc \
-	tests/Bc/Bc0017.lcbc \
-	tests/Bc/TailCallExact.lcbc tests/Bc/TailCallOverapply.lcbc \
-	tests/Bc/TailCallPap.lcbc tests/Bc/Paps.lcbc \
-	tests/Bc/Gc01.lcbc tests/Bc/Gc02.lcbc tests/Bc/Gc03.lcbc \
-	tests/Bench/Primes.lcbc tests/Bench/Append.lcbc \
-	tests/Bench/SumFromTo1.lcbc tests/Bench/SumFromTo2.lcbc \
-	tests/Bench/SumFromTo3.lcbc tests/Bench/SumFromTo4.lcbc \
-	tests/Bench/SumSquare1.lcbc tests/Bc/SumNoAlloc.lcbc \
-	tests/Bc/SumMemLoad.lcbc tests/Bc/Alloc1.lcbc \
-	tests/Bc/EvalThunk.lcbc tests/Bc/TraceCall.lcbc \
-	tests/Bc/QuotRem.lcbc tests/Bc/SumEvalThunk.lcbc \
-	tests/Bc/SumDict.lcbc tests/Bc/SumCall1.lcbc \
-	tests/Bc/Side0001.lcbc tests/Bc/Side0002.lcbc \
-	tests/Bc/Side0003.lcbc \
-	tests/Bc/RealWorld.lcbc tests/Bc/SharedFail.lcbc \
-	tests/Bc/MultiReturn.lcbc tests/Bc/MultiReturn2.lcbc \
-	tests/Bc/MultiReturn3.lcbc tests/Bc/MultiReturnJit.lcbc
-
-lcvm: $(VM_SRCS:.cc=.o) vm/main.o
-	@echo "LINK $(filter %.o %.a, $^) => $@"
-	@$(CXX) -o $@ $(filter %.o %.a, $^) $(LIBS)
-
-unittest: lcc $(TEST_FILES)
-
-unittest: vm/unittest.o $(GTEST_A) $(VM_SRCS:.cc=.o)
-	@echo "LINK $(filter %.o %.a, $^) => $@"
-	$(CXX) -o $@ $(filter %.o %.a, $^) $(LIBS)
-
-bcdump: vm/bcdump.o $(VM_SRCS:.cc=.o)
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^ $(LIBS)
-
-.PHONY: test
-test: unittest
-	@./unittest 2> /dev/null # ignore debug output
-
-.PHONY: asmtest irtest
-asmtest: unittest
-	@./unittest --gtest_filter=AsmTest*
-
-irtest: unittest
-	@./unittest --gtest_filter=IRTest*
-
-.PHONY: fixstyle
-fixstyle:
-	astyle --style=java --lineend=linux -s2 --convert-tabs \
-		--preserve-date --indent-labels \
-	        --pad-header --align-pointer=name --pad-oper -n \
-		$(VM_SRCS)
-
-.PHONY: analyse analyze
-analyze: analyse
-analyse: $(VM_SRCS)
-	clang++ --analyze -I$(GTEST_DIR)/include -Ivm $^
-
-utils/genopcodes: utils/genopcodes.o
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^
-
-utils/print_config: utils/print_config.o
-	@echo "LINK $^ => $@"
-	@$(CC) -o $@ $^
-
-utils/genirfoldmacros: utils/genirfoldmacros.o
-	@echo "LINK $^ => $@"
-	@$(CXX) -o $@ $^
-
-vm/irfoldmacros.hh: vm/ir.hh utils/genirfoldmacros
-	./utils/genirfoldmacros $@
-
-vm/ir_fold.o: vm/irfoldmacros.hh
-
-compiler/Opcodes.h: utils/genopcodes
-	./$< > $@
-
-HSDEPFILE = compiler/.depend
-
-HSFLAGS = -hide-all-packages \
-          -package ghc -package base -package filepath -package process -package directory -package containers \
-          -package ghc-paths -package cmdargs -package mtl -package blaze-builder -package vector \
-          -package utf8-string -package bytestring -package array -package ansi-wl-pprint -package binary \
-          -package uniplate -package hoopl -package value-supply \
-          -package graph-serialize -package temporary \
-          -icompiler \
-          -odir $(HSBUILDDIR) -hidir $(HSBUILDDIR)
-
-$(HSDEPFILE):
-	$(HC) -M $(HSFLAGS) compiler/Main.hs -dep-makefile $(HSDEPFILE)
-
-# include $(HSDEPFILE)
-
-%.hi: %.o
-	@:
-
-%.o: %.hs
-	$(HC) -c $< $(HSFLAGS)
-
-HSSRCS := $(shell find compiler -name '*.hs')
-
-# Fixme: We let the compiler depend on the source files not the .o
-# files.  This actually doesn't always work.  Fortunately,
-#
-#    make clean && make boot && make
-#
-# is pretty quick.
-
-# .PHONY:
-
-$(DIST)/setup-config: lambdachine.cabal
-	$(CABAL) configure --with-compiler=$(HC) --with-hc-pkg=$(HC_PKG)
-
-$(LCC): $(HSSRCS) compiler/Opcodes.h $(DIST)/setup-config
-	@mkdir -p $(HSBUILDDIR)
-	$(CABAL) build
-
-.PHONY: clean-interp
-clean-interp:
-	rm -f $(SRCS:%.c=%.o) utils/*.o interp
-
-.PHONY: clean cleanvm
-clean:
-	rm -f $(SRCS:%.c=%.o) utils/*.o interp compiler/.depend \
-		compiler/lcc lcc $(DIST)/setup-config vm/*.o \
-		unittest lcvm bcdump \
-		utils/genirfoldmacros vm/irfoldmacros.hh
-	rm -rf $(HSBUILDDIR)
-	find . -name '*.gcov' -or -name '*.gcno' -or -name '*.gcda' | xargs rm -f
-	$(MAKE) -C tests clean
-
-cleanvm:
-	rm -f $(VM_SRCS:%.cc=%.o) unittest
-
-.PHONY: distclean
-distclean: clean
-	rm -rf autom4te.cache
-	rm -f config.status configure config.log vm/autoconfig.h Makefile
-
-.PHONY: install-deps
-install-deps:
-	$(CABAL) install --only-dependencies --with-compiler=$(HC) \
-	  --with-hc-pkg=$(HC_PKG)
-# find compiler -name "*.hi" -delete
-
-# Rules for building built-in packages
-
-LCCFLAGS = --dump-bytecode --dump-core-binds
-
-tests/ghc-prim/%.lcbc: tests/ghc-prim/%.hs
-	cd tests/ghc-prim && \
-	$(LCC) $(LCCFLAGS) --package-name=ghc-prim $(patsubst tests/ghc-prim/%, %, $<)
-
-tests/integer-gmp/%.lcbc: tests/integer-gmp/%.hs
-	cd tests/integer-gmp && \
-	$(LCC) $(LCCFLAGS) --package-name=integer-gmp $(patsubst tests/integer-gmp/%, %, $<)
-
-tests/base/%.lcbc: tests/base/%.hs
-	cd tests/base && \
-	$(LCC) $(LCCFLAGS) --package-name=base $(patsubst tests/base/%, %, $<)
-#	@echo "@ = $@, < = $<"
-
-tests/%.lcbc: tests/%.hs
-	@echo "LCC $< => $@"
-	@cd tests && \
-	 $(LCC) $(LCCFLAGS) $(patsubst tests/%, %, $<)
-
-PRIM_MODULES_ghc-prim = GHC/Bool GHC/Types GHC/Ordering GHC/Tuple
-PRIM_MODULES_integer-gmp = GHC/Integer/Type GHC/Integer
-PRIM_MODULES_base = GHC/Base GHC/Classes GHC/Num GHC/List \
-	Control/Exception/Base
-
-PRIM_MODULES = \
-	$(patsubst %,tests/ghc-prim/%.lcbc,$(PRIM_MODULES_ghc-prim)) \
-	$(patsubst %,tests/integer-gmp/%.lcbc,$(PRIM_MODULES_integer-gmp)) \
-	$(patsubst %,tests/base/%.lcbc,$(PRIM_MODULES_base))
-
-unittest: $(PRIM_MODULES)
-
-.PHONY: check
-TESTS ?= .
-check: $(PRIM_MODULES)
-	@ $(MAKE) -C tests check TESTS=$(TESTS) LITARGS=$(LITARGS)
-
-.PHONY: bench
-bench: $(PRIM_MODULES)
-	$(MAKE) -C tests check TESTS=Bench LITARGS=$(LITARGS)
-
-pr:
-	@echo $(PRIM_MODULES)
-
-clean-bytecode:
-	rm -f $(PRIM_MODULES)
-	$(MAKE) -C tests clean
-
-.PHONY: gtest
-gtest: $(GTEST_A)
-
-bench-ghc/%: tests/Bench/%.hs
-	@mkdir -p bench-ghc
-	$(HC) -O2 -fforce-recomp -DBENCH_GHC $(BENCH_HC_OPTS) -rtsopts -o $@ $<
-
-# -include $(SRCS:%.c=$(DEPDIR)/%.P)
--include $(UTILSRCS:%.cc=$(DEPDIR)/%.P)
--include $(DEPDIR)/vm/unittest.P
--include $(VM_SRCS_ALL:%.cc=$(DEPDIR)/%.P)

lambdachine/output.txt

-LCC tests/Bc/Bc0016.hs => tests/Bc/Bc0016.lcbc
-LCC tests/Bc/Bc0014.hs => tests/Bc/Bc0014.lcbc
-LCC tests/Bc/Bc0017.hs => tests/Bc/Bc0017.lcbc
-LCC tests/Bc/TailCallExact.hs => tests/Bc/TailCallExact.lcbc
-LCC tests/Bc/TailCallOverapply.hs => tests/Bc/TailCallOverapply.lcbc
-LCC tests/Bc/TailCallPap.hs => tests/Bc/TailCallPap.lcbc
-LCC tests/Bc/Paps.hs => tests/Bc/Paps.lcbc
-LCC tests/Bc/Gc01.hs => tests/Bc/Gc01.lcbc
-LCC tests/Bc/Gc02.hs => tests/Bc/Gc02.lcbc
-LCC tests/Bc/Gc03.hs => tests/Bc/Gc03.lcbc
-LCC tests/Bench/Primes.hs => tests/Bench/Primes.lcbc
-LCC tests/Bench/Append.hs => tests/Bench/Append.lcbc
-LCC tests/Bench/SumFromTo1.hs => tests/Bench/SumFromTo1.lcbc
-LCC tests/Bench/SumFromTo2.hs => tests/Bench/SumFromTo2.lcbc
-LCC tests/Bench/SumFromTo3.hs => tests/Bench/SumFromTo3.lcbc
-LCC tests/Bench/SumFromTo4.hs => tests/Bench/SumFromTo4.lcbc
-LCC tests/Bench/SumSquare1.hs => tests/Bench/SumSquare1.lcbc
-LCC tests/Bc/SumNoAlloc.hs => tests/Bc/SumNoAlloc.lcbc
-LCC tests/Bc/SumMemLoad.hs => tests/Bc/SumMemLoad.lcbc
-LCC tests/Bc/Alloc1.hs => tests/Bc/Alloc1.lcbc
-LCC tests/Bc/EvalThunk.hs => tests/Bc/EvalThunk.lcbc
-LCC tests/Bc/TraceCall.hs => tests/Bc/TraceCall.lcbc
-LCC tests/Bc/QuotRem.hs => tests/Bc/QuotRem.lcbc
-LCC tests/Bc/SumEvalThunk.hs => tests/Bc/SumEvalThunk.lcbc
-LCC tests/Bc/SumDict.hs => tests/Bc/SumDict.lcbc
-LCC tests/Bc/SumCall1.hs => tests/Bc/SumCall1.lcbc
-LCC tests/Bc/Side0001.hs => tests/Bc/Side0001.lcbc
-LCC tests/Bc/Side0002.hs => tests/Bc/Side0002.lcbc
-LCC tests/Bc/Side0003.hs => tests/Bc/Side0003.lcbc
-LCC tests/Bc/RealWorld.hs => tests/Bc/RealWorld.lcbc
-LCC tests/Bc/SharedFail.hs => tests/Bc/SharedFail.lcbc
-LCC tests/Bc/MultiReturn.hs => tests/Bc/MultiReturn.lcbc
-LCC tests/Bc/MultiReturn2.hs => tests/Bc/MultiReturn2.lcbc
-LCC tests/Bc/MultiReturn3.hs => tests/Bc/MultiReturn3.lcbc
-LCC tests/Bc/MultiReturnJit.hs => tests/Bc/MultiReturnJit.lcbc
-cd tests/ghc-prim && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=ghc-prim  GHC/Bool.hs
-cd tests/ghc-prim && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=ghc-prim  GHC/Types.hs
-cd tests/ghc-prim && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=ghc-prim  GHC/Ordering.hs
-cd tests/ghc-prim && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=ghc-prim  GHC/Tuple.hs
-cd tests/integer-gmp && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=integer-gmp  GHC/Integer/Type.hs
-cd tests/integer-gmp && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=integer-gmp  GHC/Integer.hs
-cd tests/base && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=base  GHC/Base.hs
-cd tests/base && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=base  GHC/Classes.hs
-cd tests/base && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=base  GHC/Num.hs
-cd tests/base && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=base  GHC/List.hs
-cd tests/base && \
-	/home/ubuntu/lambdachine/dist/build/lcc/lcc --dump-bytecode --dump-core-binds --package-name=base  Control/Exception/Base.hs
-LINK vm/unittest.o utils/gtest-1.6.0/libgtest.a vm/thread.o vm/capability.o vm/memorymanager.o vm/loader.o vm/fileutils.o vm/bytecode.o vm/objects.o vm/miscclosures.o vm/options.o vm/jit.o vm/amd64/fragment.o vm/machinecode.o vm/assembler.o vm/ir.o vm/ir_fold.o vm/time.o => unittest
-g++ -o unittest vm/unittest.o utils/gtest-1.6.0/libgtest.a vm/thread.o vm/capability.o vm/memorymanager.o vm/loader.o vm/fileutils.o vm/bytecode.o vm/objects.o vm/miscclosures.o vm/options.o vm/jit.o vm/amd64/fragment.o vm/machinecode.o vm/assembler.o vm/ir.o vm/ir_fold.o vm/time.o -lrt 
-[==========] Running 118 tests from 20 test cases.
-[----------] Global test environment set-up.
-[----------] 1 test from ThreadTest
-[ RUN      ] ThreadTest.StartStop
-[       OK ] ThreadTest.StartStop (0 ms)
-[----------] 1 test from ThreadTest (0 ms total)
-
-[----------] 3 tests from MMTest
-[ RUN      ] MMTest.AllocRegion
-[       OK ] MMTest.AllocRegion (0 ms)
-[ RUN      ] MMTest.AllocBasic
-[       OK ] MMTest.AllocBasic (0 ms)
-[ RUN      ] MMTest.AllocBasic2
-[       OK ] MMTest.AllocBasic2 (0 ms)
-[----------] 3 tests from MMTest (0 ms total)
-
-[----------] 6 tests from LoaderTest
-[ RUN      ] LoaderTest.Simple
-[       OK ] LoaderTest.Simple (0 ms)
-[ RUN      ] LoaderTest.DefaultBasePath
-[       OK ] LoaderTest.DefaultBasePath (1 ms)
-[ RUN      ] LoaderTest.Load1
-vm/unittest.cc:67: Failure
-Value of: l.loadModule("GHC.Bool")
-  Actual: false
-Expected: true
-[  FAILED  ] LoaderTest.Load1 (0 ms)
-[ RUN      ] LoaderTest.LoadIdempotent
-vm/unittest.cc:77: Failure
-Value of: l.loadModule(modname)
-  Actual: false
-Expected: true
-[  FAILED  ] LoaderTest.LoadIdempotent (0 ms)
-[ RUN      ] LoaderTest.DebugPrint
-vm/unittest.cc:95: Failure
-Value of: l.loadModule("GHC.Base")
-  Actual: false
-Expected: true
-[  FAILED  ] LoaderTest.DebugPrint (0 ms)
-[ RUN      ] LoaderTest.BuiltinClosures
-vm/unittest.cc:110: Failure
-Value of: l.loadModule("GHC.Base")
-  Actual: false
-Expected: true
-[  FAILED  ] LoaderTest.BuiltinClosures (0 ms)
-[----------] 6 tests from LoaderTest (1 ms total)
-
-[----------] 5 tests from RegSetTest
-[ RUN      ] RegSetTest.fromReg
-[       OK ] RegSetTest.fromReg (0 ms)
-[ RUN      ] RegSetTest.range
-[       OK ] RegSetTest.range (0 ms)
-[ RUN      ] RegSetTest.setClear
-[       OK ] RegSetTest.setClear (0 ms)
-[ RUN      ] RegSetTest.excludeInclude
-[       OK ] RegSetTest.excludeInclude (0 ms)
-[ RUN      ] RegSetTest.pickBotTop
-[       OK ] RegSetTest.pickBotTop (0 ms)
-[----------] 5 tests from RegSetTest (0 ms total)
-
-[----------] 1 test from SpillSetTest
-[ RUN      ] SpillSetTest.test
-[       OK ] SpillSetTest.test (0 ms)
-[----------] 1 test from SpillSetTest (0 ms total)
-
-[----------] 1 test from Flags
-[ RUN      ] Flags.setVal
-[       OK ] Flags.setVal (0 ms)
-[----------] 1 test from Flags (0 ms total)
-
-[----------] 1 test from AllocMachineCode
-[ RUN      ] AllocMachineCode.Simple
-[       OK ] AllocMachineCode.Simple (1 ms)
-[----------] 1 test from AllocMachineCode (1 ms total)
-
-[----------] 1 test from Timer
-[ RUN      ] Timer.PreciseResolution
-[       OK ] Timer.PreciseResolution (3 ms)
-[----------] 1 test from Timer (3 ms total)
-
-[----------] 12 tests from AsmTest
-[ RUN      ] AsmTest.Move
-[       OK ] AsmTest.Move (0 ms)
-[ RUN      ] AsmTest.MoveHiReg
-[       OK ] AsmTest.MoveHiReg (0 ms)
-[ RUN      ] AsmTest.LoadImmU32Pos
-[       OK ] AsmTest.LoadImmU32Pos (0 ms)
-[ RUN      ] AsmTest.LoadImmU32Neg
-[       OK ] AsmTest.LoadImmU32Neg (0 ms)
-[ RUN      ] AsmTest.LoadImmI32Pos
-[       OK ] AsmTest.LoadImmI32Pos (0 ms)
-[ RUN      ] AsmTest.LoadImmI32Neg
-[       OK ] AsmTest.LoadImmI32Neg (0 ms)
-[ RUN      ] AsmTest.LoadImmU64
-[       OK ] AsmTest.LoadImmU64 (0 ms)
-[ RUN      ] AsmTest.LoadImmU64_I32Range
-[       OK ] AsmTest.LoadImmU64_I32Range (0 ms)
-[ RUN      ] AsmTest.LoadMemU64
-[       OK ] AsmTest.LoadMemU64 (0 ms)
-[ RUN      ] AsmTest.StoreMemU64
-[       OK ] AsmTest.StoreMemU64 (0 ms)
-[ RUN      ] AsmTest.StoreMemImmPos
-[       OK ] AsmTest.StoreMemImmPos (1 ms)
-[ RUN      ] AsmTest.StoreMemImmNeg
-[       OK ] AsmTest.StoreMemImmNeg (0 ms)
-[----------] 12 tests from AsmTest (1 ms total)
-
-[----------] 11 tests from IRTest
-[ RUN      ] IRTest.Simple
-[       OK ] IRTest.Simple (0 ms)
-[ RUN      ] IRTest.Slots
-[       OK ] IRTest.Slots (0 ms)
-[ RUN      ] IRTest.Slots2
-[       OK ] IRTest.Slots2 (0 ms)
-[ RUN      ] IRTest.Literals1
-[       OK ] IRTest.Literals1 (0 ms)
-[ RUN      ] IRTest.Literals2
-[       OK ] IRTest.Literals2 (0 ms)
-[ RUN      ] IRTest.Literals3
-[       OK ] IRTest.Literals3 (0 ms)
-[ RUN      ] IRTest.Literals4
-[       OK ] IRTest.Literals4 (0 ms)
-[ RUN      ] IRTest.Literals5
-[       OK ] IRTest.Literals5 (0 ms)
-[ RUN      ] IRTest.Literals6
-[       OK ] IRTest.Literals6 (1 ms)
-[ RUN      ] IRTest.BaseLiterals
-[       OK ] IRTest.BaseLiterals (0 ms)
-[ RUN      ] IRTest.Snapshot1
-[       OK ] IRTest.Snapshot1 (0 ms)
-[----------] 11 tests from IRTest (1 ms total)
-
-[----------] 3 tests from IRTestFold
-[ RUN      ] IRTestFold.FoldAdd
-[       OK ] IRTestFold.FoldAdd (0 ms)
-[ RUN      ] IRTestFold.FoldComm
-[       OK ] IRTestFold.FoldComm (0 ms)
-[ RUN      ] IRTestFold.FoldSub
-[       OK ] IRTestFold.FoldSub (0 ms)
-[----------] 3 tests from IRTestFold (0 ms total)
-
-[----------] 15 tests from ArithTest
-[ RUN      ] ArithTest.Add
-[       OK ] ArithTest.Add (1 ms)
-[ RUN      ] ArithTest.Sub
-[       OK ] ArithTest.Sub (0 ms)
-[ RUN      ] ArithTest.Mul
-[       OK ] ArithTest.Mul (1 ms)
-[ RUN      ] ArithTest.Div
-[       OK ] ArithTest.Div (1 ms)
-[ RUN      ] ArithTest.Rem
-[       OK ] ArithTest.Rem (1 ms)
-[ RUN      ] ArithTest.Mov
-[       OK ] ArithTest.Mov (0 ms)
-[ RUN      ] ArithTest.Neg
-[       OK ] ArithTest.Neg (0 ms)
-[ RUN      ] ArithTest.Not
-[       OK ] ArithTest.Not (0 ms)
-[ RUN      ] ArithTest.BranchLt
-[       OK ] ArithTest.BranchLt (2 ms)
-[ RUN      ] ArithTest.BranchGe
-[       OK ] ArithTest.BranchGe (1 ms)
-[ RUN      ] ArithTest.BranchEq
-[       OK ] ArithTest.BranchEq (1 ms)
-[ RUN      ] ArithTest.BranchNotEq
-[       OK ] ArithTest.BranchNotEq (1 ms)
-[ RUN      ] ArithTest.Alloc1
-[       OK ] ArithTest.Alloc1 (0 ms)
-[ RUN      ] ArithTest.AllocN_3
-[       OK ] ArithTest.AllocN_3 (0 ms)
-[ RUN      ] ArithTest.AllocN_5
-[       OK ] ArithTest.AllocN_5 (1 ms)
-[----------] 15 tests from ArithTest (10 ms total)
-
-[----------] 28 tests from RunFileTest
-[ RUN      ] RunFileTest.eval
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.eval (0 ms)
-[ RUN      ] RunFileTest.Bc0014
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Bc0014 (0 ms)
-[ RUN      ] RunFileTest.Bc0017
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Bc0017 (0 ms)
-[ RUN      ] RunFileTest.TailCallExact
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.TailCallExact (0 ms)
-[ RUN      ] RunFileTest.TailCallOverapply
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.TailCallOverapply (0 ms)
-[ RUN      ] RunFileTest.TailCallPap
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.TailCallPap (0 ms)
-[ RUN      ] RunFileTest.Paps
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Paps (1 ms)
-[ RUN      ] RunFileTest.Gc01
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Gc01 (0 ms)
-[ RUN      ] RunFileTest.Gc02
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Gc02 (0 ms)
-[ RUN      ] RunFileTest.Gc03
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Gc03 (0 ms)
-[ RUN      ] RunFileTest.SumNoAlloc
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SumNoAlloc (1 ms)
-[ RUN      ] RunFileTest.SumMemLoad
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SumMemLoad (0 ms)
-[ RUN      ] RunFileTest.Alloc1
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Alloc1 (0 ms)
-[ RUN      ] RunFileTest.EvalThunk
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.EvalThunk (0 ms)
-[ RUN      ] RunFileTest.TraceCall
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.TraceCall (1 ms)
-[ RUN      ] RunFileTest.SumCall1
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SumCall1 (0 ms)
-[ RUN      ] RunFileTest.QuotRem
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.QuotRem (0 ms)
-[ RUN      ] RunFileTest.SumEvalThunk
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SumEvalThunk (1 ms)
-[ RUN      ] RunFileTest.SumDict
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SumDict (0 ms)
-[ RUN      ] RunFileTest.Side0001
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Side0001 (0 ms)
-[ RUN      ] RunFileTest.Side0002
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Side0002 (0 ms)
-[ RUN      ] RunFileTest.Side0003
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.Side0003 (1 ms)
-[ RUN      ] RunFileTest.RealWorld
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.RealWorld (0 ms)
-[ RUN      ] RunFileTest.SharedFail
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.SharedFail (0 ms)
-[ RUN      ] RunFileTest.MultiReturn
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.MultiReturn (1 ms)
-[ RUN      ] RunFileTest.MultiReturn2
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.MultiReturn2 (0 ms)
-[ RUN      ] RunFileTest.MultiReturn3
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.MultiReturn3 (0 ms)
-[ RUN      ] RunFileTest.MultiReturnJit
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] RunFileTest.MultiReturnJit (0 ms)
-[----------] 28 tests from RunFileTest (7 ms total)
-
-[----------] 7 tests from BenchTest
-[ RUN      ] BenchTest.Primes
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.Primes (1 ms)
-[ RUN      ] BenchTest.Append
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.Append (0 ms)
-[ RUN      ] BenchTest.SumFromTo1
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.SumFromTo1 (0 ms)
-[ RUN      ] BenchTest.SumFromTo2
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.SumFromTo2 (0 ms)
-[ RUN      ] BenchTest.SumFromTo3
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.SumFromTo3 (1 ms)
-[ RUN      ] BenchTest.SumFromTo4
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.SumFromTo4 (0 ms)
-[ RUN      ] BenchTest.SumSquare1
-vm/unittest.cc:926: Failure
-Value of: loader->loadWiredInModules()
-  Actual: false
-Expected: true
-vm/unittest.cc:927: Failure
-Value of: loader->loadModule(moduleName)
-  Actual: false
-Expected: true
-vm/unittest.cc:933: Failure
-Value of: entry != NULL
-  Actual: false
-Expected: true
-[  FAILED  ] BenchTest.SumSquare1 (0 ms)
-[----------] 7 tests from BenchTest (2 ms total)
-
-[----------] 1 test from HotCounters
-[ RUN      ] HotCounters.Simple
-[       OK ] HotCounters.Simple (0 ms)
-[----------] 1 test from HotCounters (0 ms total)
-
-[----------] 6 tests from RegAlloc
-[ RUN      ] RegAlloc.Simple1
-[       OK ] RegAlloc.Simple1 (1 ms)
-[ RUN      ] RegAlloc.Simple2
-[       OK ] RegAlloc.Simple2 (8 ms)
-[ RUN      ] RegAlloc.Simple3
-[       OK ] RegAlloc.Simple3 (12 ms)
-[ RUN      ] RegAlloc.Simple4
-[       OK ] RegAlloc.Simple4 (4 ms)
-[ RUN      ] RegAlloc.ManyRegs
-[       OK ] RegAlloc.ManyRegs (10 ms)
-[ RUN      ] RegAlloc.SnapTwice
-[       OK ] RegAlloc.SnapTwice (8 ms)
-[----------] 6 tests from RegAlloc (43 ms total)
-
-[----------] 3 tests from ParallelAssignTest
-[ RUN      ] ParallelAssignTest.testRegTest
-[       OK ] ParallelAssignTest.testRegTest (0 ms)
-[ RUN      ] ParallelAssignTest.testRegTest2
-[       OK ] ParallelAssignTest.testRegTest2 (0 ms)
-[ RUN      ] ParallelAssignTest.SwapRegs1
-[       OK ] ParallelAssignTest.SwapRegs1 (1 ms)
-[----------] 3 tests from ParallelAssignTest (1 ms total)
-
-[----------] 10 tests from TestFragment
-[ RUN      ] TestFragment.Test1
-[       OK ] TestFragment.Test1 (14 ms)
-[ RUN      ] TestFragment.Test2
-[       OK ] TestFragment.Test2 (3 ms)
-[ RUN      ] TestFragment.RestoreSnapSpill
-[       OK ] TestFragment.RestoreSnapSpill (14 ms)
-[ RUN      ] TestFragment.ItblGuard
-[       OK ] TestFragment.ItblGuard (2 ms)
-[ RUN      ] TestFragment.LoadField
-[       OK ] TestFragment.LoadField (8 ms)
-[ RUN      ] TestFragment.DivMod
-[       OK ] TestFragment.DivMod (8 ms)
-[ RUN      ] TestFragment.Mul
-[       OK ] TestFragment.Mul (12 ms)
-[ RUN      ] TestFragment.Alloc1
-[       OK ] TestFragment.Alloc1 (3 ms)
-[ RUN      ] TestFragment.Alloc2
-[       OK ] TestFragment.Alloc2 (3 ms)
-[ RUN      ] TestFragment.Alloc3
-[       OK ] TestFragment.Alloc3 (1 ms)
-[----------] 10 tests from TestFragment (69 ms total)
-
-[----------] 1 test from CallStackTest
-[ RUN      ] CallStackTest.Simple1
-[       OK ] CallStackTest.Simple1 (0 ms)
-[----------] 1 test from CallStackTest (0 ms total)
-
-[----------] 2 tests from BranchTargetBufferTest
-[ RUN      ] BranchTargetBufferTest.Loops1
-[       OK ] BranchTargetBufferTest.Loops1 (0 ms)
-[ RUN      ] BranchTargetBufferTest.Loops2
-[       OK ] BranchTargetBufferTest.Loops2 (0 ms)
-[----------] 2 tests from BranchTargetBufferTest (0 ms total)
-
-[----------] Global test environment tear-down
-[==========] 118 tests from 20 test cases ran. (139 ms total)
-[  PASSED  ] 79 tests.
-[  FAILED  ] 39 tests, listed below:
-[  FAILED  ] LoaderTest.Load1
-[  FAILED  ] LoaderTest.LoadIdempotent
-[  FAILED  ] LoaderTest.DebugPrint
-[  FAILED  ] LoaderTest.BuiltinClosures
-[  FAILED  ] RunFileTest.eval
-[  FAILED  ] RunFileTest.Bc0014
-[  FAILED  ] RunFileTest.Bc0017
-[  FAILED  ] RunFileTest.TailCallExact
-[  FAILED  ] RunFileTest.TailCallOverapply
-[  FAILED  ] RunFileTest.TailCallPap
-[  FAILED  ] RunFileTest.Paps
-[  FAILED  ] RunFileTest.Gc01
-[  FAILED  ] RunFileTest.Gc02
-[  FAILED  ] RunFileTest.Gc03
-[  FAILED  ] RunFileTest.SumNoAlloc
-[  FAILED  ] RunFileTest.SumMemLoad
-[  FAILED  ] RunFileTest.Alloc1
-[  FAILED  ] RunFileTest.EvalThunk
-[  FAILED  ] RunFileTest.TraceCall
-[  FAILED  ] RunFileTest.SumCall1
-[  FAILED  ] RunFileTest.QuotRem
-[  FAILED  ] RunFileTest.SumEvalThunk
-[  FAILED  ] RunFileTest.SumDict
-[  FAILED  ] RunFileTest.Side0001
-[  FAILED  ] RunFileTest.Side0002
-[  FAILED  ] RunFileTest.Side0003
-[  FAILED  ] RunFileTest.RealWorld
-[  FAILED  ] RunFileTest.SharedFail
-[  FAILED  ] RunFileTest.MultiReturn
-[  FAILED  ] RunFileTest.MultiReturn2
-[  FAILED  ] RunFileTest.MultiReturn3
-[  FAILED  ] RunFileTest.MultiReturnJit
-[  FAILED  ] BenchTest.Primes
-[  FAILED  ] BenchTest.Append
-[  FAILED  ] BenchTest.SumFromTo1
-[  FAILED  ] BenchTest.SumFromTo2
-[  FAILED  ] BenchTest.SumFromTo3
-[  FAILED  ] BenchTest.SumFromTo4
-[  FAILED  ] BenchTest.SumSquare1
-
-39 FAILED TESTS

misc/fac1.log

-[cc840aeb2b] {jit-log-opt-loop
-# Loop 0 (<Function object at 0x7f8f0fecc1b8> ds1dr1 dsdr0 ds1dr1) : loop with 115 ops
-[p0, p1]
-+54: label(p0, p1, descr=TargetToken(140252424282320))
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc1b8> ds1dr1 dsdr0 ds1dr1')
-+54: guard_nonnull_class(p1, 10388800, descr=<Guard2>) [p1, p0]
-+72: p3 = getfield_gc_pure(p1, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_rhs 8>)
-+76: guard_value(p3, ConstPtr(ptr4), descr=<Guard3>) [p1, p0, p3]
-+95: p5 = getfield_gc_pure(p1, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_subst 16>)
-+99: p7 = getarrayitem_gc(p5, 0, descr=<ArrayP 8>)
-+103: guard_class(p7, 10388664, descr=<Guard4>) [p0, p5, p7]
-+116: p9 = getfield_gc(p7, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+120: guard_nonnull_class(p9, 10386808, descr=<Guard5>) [p0, p5, p7, p9]
-+139: p12 = getarrayitem_gc(p5, 1, descr=<ArrayP 8>)
-+143: guard_class(p12, 10388664, descr=<Guard6>) [p0, p5, p12, p7]
-+157: p14 = getfield_gc(p12, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+161: guard_nonnull_class(p14, 10386808, descr=<Guard7>) [p0, p5, p12, p14, p7]
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+181: p16 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+185: guard_value(p16, ConstPtr(ptr17), descr=<Guard8>) [p16, p9, p0, p12, p7]
-+198: p18 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+202: guard_class(p18, 10388464, descr=<Guard9>) [p18, p9, p0, p12, p7]
-+216: p20 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+220: guard_class(p20, 10388464, descr=<Guard10>) [p20, p9, p18, p0, p12, p7]
-+232: p22 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+236: guard_class(p22, 10387816, descr=<Guard11>) [p22, p9, p20, p18, p0, p12, p7]
-debug_merge_point(0, 0, 'None')
-+249: p24 = getfield_gc_pure(p22, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+253: guard_value(p24, ConstPtr(ptr25), descr=<Guard12>) [p24, p22, p9, None, None, p0, p12, p7]
-+272: p27 = getfield_gc_pure(p22, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+276: guard_class(p27, 10388464, descr=<Guard13>) [p22, p27, p9, None, None, p0, p12, p7]
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+289: p30 = getfield_gc(ConstPtr(ptr29), descr=<FieldP pyhaskell.interpreter.module.CoreMod.inst_qvars 40>)
-+297: i34 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p30, ConstPtr(ptr32), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+348: guard_no_exception(descr=<Guard14>) [p27, p20, p18, i34, p30, None, None, None, p0, p12, p7]
-+363: i36 = int_and(i34, -9223372036854775808)
-+379: i37 = int_is_true(i36)
-guard_false(i37, descr=<Guard15>) [p27, p20, p18, i34, p30, None, None, None, p0, p12, p7]
-+389: p38 = getfield_gc(p30, descr=<FieldP dicttable.entries 24>)
-+393: p39 = getinteriorfield_gc(p38, i34, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+402: i40 = instance_ptr_eq(p18, p39)
-guard_true(i40, descr=<Guard16>) [p27, p20, None, None, None, p0, p12, p7]
-debug_merge_point(0, 0, 'None')
-+411: i41 = getfield_gc_pure(p20, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+422: i42 = getfield_gc_pure(p27, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+434: i43 = int_sub(i41, i42)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+437: i45 = int_eq(0, i43)
-guard_false(i45, descr=<Guard17>) [p0, i43, None, None, None, None, p12, p7]
-p47 = new_with_vtable(10388464)
-+517: setfield_gc(p47, i43, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-setfield_gc(p7, p47, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+547: p48 = getfield_gc(p12, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+551: guard_nonnull_class(p48, 10388464, descr=<Guard18>) [p48, p0, p12, p47, p7]
-debug_merge_point(0, 0, '<PrimFunction object at 0xa1a300> 1 <Function object at 0x7f8f0fecc638> 1 <Function object at 0x7f8f0fecc518> <PrimFunction object at 0xa1a280> 1 dsdr0 <Function object at 0x7f8f0fecc548> 1')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc608> dsdr0 dsdr0')
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc1b8> ds1dr1 dsdr0 ds1dr1')
-+569: label(p0, p48, p30, p38, descr=TargetToken(140252424282496))
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc1b8> ds1dr1 dsdr0 ds1dr1')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+569: i50 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p30, ConstPtr(ptr32), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+606: guard_no_exception(descr=<Guard19>) [p48, i50, p30, p0]
-+621: i51 = int_and(i50, -9223372036854775808)
-+637: i52 = int_is_true(i51)
-guard_false(i52, descr=<Guard20>) [p48, i50, p30, p0]
-+647: p53 = getinteriorfield_gc(p38, i50, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+663: i55 = instance_ptr_eq(ConstPtr(ptr54), p53)
-guard_true(i55, descr=<Guard21>) [p48, p0]
-debug_merge_point(0, 0, 'None')
-+676: i56 = getfield_gc_pure(p48, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+687: i58 = int_sub(i56, 1)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+691: i59 = int_eq(0, i58)
-guard_false(i59, descr=<Guard22>) [i58, p48, p0]
-debug_merge_point(0, 0, '<PrimFunction object at 0xa1a300> 1 <Function object at 0x7f8f0fecc638> 1 <Function object at 0x7f8f0fecc518> <PrimFunction object at 0xa1a280> 1 dsdr0 <Function object at 0x7f8f0fecc548> 1')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc608> dsdr0 dsdr0')
-debug_merge_point(0, 0, '<Function object at 0x7f8f0fecc1b8> ds1dr1 dsdr0 ds1dr1')
-p61 = new_with_vtable(10388248)
-p63 = new_with_vtable(10386808)
-p65 = new_with_vtable(10387816)
-p67 = new_with_vtable(10386808)
-+802: setfield_gc(p63, ConstPtr(ptr68), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+810: setfield_gc(p63, ConstPtr(ptr69), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+824: setfield_gc(p63, ConstPtr(ptr54), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-p71 = new_with_vtable(10387816)
-+844: setfield_gc(p67, ConstPtr(ptr17), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+853: setfield_gc(p71, ConstPtr(ptr72), descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+867: setfield_gc(p71, ConstPtr(ptr25), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+881: setfield_gc(p67, p71, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-p73 = new_with_vtable(10388464)
-+897: setfield_gc(p61, p0, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-+908: setfield_gc(p65, ConstPtr(ptr74), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+922: setfield_gc(p67, p48, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+927: setfield_gc(p67, ConstPtr(ptr54), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+936: setfield_gc(p65, p67, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+940: setfield_gc(p63, p65, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+944: setfield_gc(p61, p63, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+948: setfield_gc(p61, 2, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+956: setfield_gc(p73, i58, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+960: jump(p61, p73, p30, p38, descr=TargetToken(140252424282496))
-+975: --end of the loop--
-[cc84137227] jit-log-opt-loop}

misc/factorial.hs

-module Main where
-
-main = do 
-    putStrLn (show (fac 10000))
-
-fac :: Int -> Int
-fac 0 = 1
-fac n = 1 + (fac (n-1))
-

misc/fib1.log

-[16d18cfd93e6] {jit-log-opt-loop
-# Loop 0 (<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc) : loop with 124 ops
-[p0, p1]
-+54: label(p0, p1, descr=TargetToken(140054017998880))
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-+54: guard_nonnull_class(p1, 10388800, descr=<Guard2>) [p1, p0]
-+72: p3 = getfield_gc_pure(p1, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_rhs 8>)
-+76: guard_value(p3, ConstPtr(ptr4), descr=<Guard3>) [p1, p0, p3]
-+95: p5 = getfield_gc_pure(p1, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_subst 16>)
-+99: p7 = getarrayitem_gc(p5, 0, descr=<ArrayP 8>)
-+103: guard_class(p7, 10388664, descr=<Guard4>) [p0, p5, p7]
-+116: p9 = getfield_gc(p7, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+120: guard_nonnull_class(p9, 10386808, descr=<Guard5>) [p0, p5, p7, p9]
-+139: p12 = getarrayitem_gc(p5, 1, descr=<ArrayP 8>)
-+143: guard_class(p12, 10388664, descr=<Guard6>) [p0, p5, p12, p7]
-+157: p14 = getfield_gc(p12, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+161: guard_nonnull_class(p14, 10386808, descr=<Guard7>) [p0, p5, p12, p14, p7]
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+181: p16 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+185: guard_value(p16, ConstPtr(ptr17), descr=<Guard8>) [p16, p9, p12, p0, p7]
-+198: p18 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+202: guard_class(p18, 10388464, descr=<Guard9>) [p18, p9, p12, p0, p7]
-+216: p20 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+220: guard_class(p20, 10388464, descr=<Guard10>) [p20, p9, p18, p12, p0, p7]
-+232: p22 = getfield_gc_pure(p9, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+236: guard_class(p22, 10387816, descr=<Guard11>) [p22, p9, p20, p18, p12, p0, p7]
-debug_merge_point(0, 0, 'None')
-+249: p24 = getfield_gc_pure(p22, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+253: guard_value(p24, ConstPtr(ptr25), descr=<Guard12>) [p24, p22, p9, None, None, p12, p0, p7]
-+272: p27 = getfield_gc_pure(p22, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+276: guard_class(p27, 10388464, descr=<Guard13>) [p22, p27, p9, None, None, p12, p0, p7]
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+289: p30 = getfield_gc(ConstPtr(ptr29), descr=<FieldP pyhaskell.interpreter.module.CoreMod.inst_qvars 40>)
-+297: i34 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p30, ConstPtr(ptr32), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+348: guard_no_exception(descr=<Guard14>) [p27, p20, p18, i34, p30, None, None, None, p12, p0, p7]
-+363: i36 = int_and(i34, -9223372036854775808)
-+379: i37 = int_is_true(i36)
-guard_false(i37, descr=<Guard15>) [p27, p20, p18, i34, p30, None, None, None, p12, p0, p7]
-+389: p38 = getfield_gc(p30, descr=<FieldP dicttable.entries 24>)
-+393: p39 = getinteriorfield_gc(p38, i34, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+402: i40 = instance_ptr_eq(p18, p39)
-guard_true(i40, descr=<Guard16>) [p27, p20, None, None, None, p12, p0, p7]
-debug_merge_point(0, 0, 'None')
-+411: i41 = getfield_gc_pure(p20, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+422: i42 = getfield_gc_pure(p27, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+434: i43 = int_sub(i41, i42)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+437: i45 = int_eq(1, i43)
-guard_false(i45, descr=<Guard17>) [p0, i43, None, None, None, p12, None, p7]
-+447: i47 = int_eq(0, i43)
-guard_false(i47, descr=<Guard18>) [p0, i43, None, None, None, p12, None, p7]
-p49 = new_with_vtable(10388464)
-+527: setfield_gc(p49, i43, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-setfield_gc(p7, p49, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+557: p50 = getfield_gc(p12, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+561: guard_nonnull_class(p50, 10388464, descr=<Guard19>) [p50, p0, p12, p49, p7]
-debug_merge_point(0, 0, '<PrimFunction object at 0xa1a300> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc3f8> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc0f8> 2')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-+579: label(p0, p50, p30, p38, descr=TargetToken(140054017998968))
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+579: i52 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p30, ConstPtr(ptr32), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+616: guard_no_exception(descr=<Guard20>) [p50, i52, p30, p0]
-+631: i53 = int_and(i52, -9223372036854775808)
-+647: i54 = int_is_true(i53)
-guard_false(i54, descr=<Guard21>) [p50, i52, p30, p0]
-+657: p55 = getinteriorfield_gc(p38, i52, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+673: i57 = instance_ptr_eq(ConstPtr(ptr56), p55)
-guard_true(i57, descr=<Guard22>) [p50, p0]
-debug_merge_point(0, 0, 'None')
-+686: i58 = getfield_gc_pure(p50, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+697: i60 = int_sub(i58, 1)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+701: i61 = int_eq(1, i60)
-guard_false(i61, descr=<Guard23>) [p50, i60, p0]
-+711: i62 = int_eq(0, i60)
-guard_false(i62, descr=<Guard24>) [p50, i60, p0]
-debug_merge_point(0, 0, '<PrimFunction object at 0xa1a300> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc3f8> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc0f8> 2')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-p64 = new_with_vtable(10388248)
-p66 = new_with_vtable(10386808)
-p68 = new_with_vtable(10387816)
-p70 = new_with_vtable(10386808)
-+822: setfield_gc(p66, ConstPtr(ptr71), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-p73 = new_with_vtable(10387816)
-+842: setfield_gc(p70, ConstPtr(ptr17), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+851: setfield_gc(p73, ConstPtr(ptr74), descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+865: setfield_gc(p73, ConstPtr(ptr25), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+879: setfield_gc(p70, p50, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+884: setfield_gc(p70, ConstPtr(ptr56), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-p76 = new_with_vtable(10387816)
-p78 = new_with_vtable(10386808)
-+915: setfield_gc(p68, ConstPtr(ptr79), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+929: setfield_gc(p66, p68, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+933: setfield_gc(p66, ConstPtr(ptr56), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-p81 = new_with_vtable(10387816)
-+952: setfield_gc(p68, p70, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+956: setfield_gc(p78, ConstPtr(ptr17), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+964: setfield_gc(p70, p73, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+969: setfield_gc(p81, ConstPtr(ptr82), descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+983: setfield_gc(p81, ConstPtr(ptr83), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+997: setfield_gc(p78, p81, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-p84 = new_with_vtable(10388464)
-+1012: setfield_gc(p64, p0, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-+1023: setfield_gc(p76, ConstPtr(ptr79), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+1037: setfield_gc(p78, p50, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+1041: setfield_gc(p78, ConstPtr(ptr56), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+1049: setfield_gc(p76, p78, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+1053: setfield_gc(p66, p76, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+1057: setfield_gc(p64, p66, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+1061: setfield_gc(p64, 1, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+1069: setfield_gc(p84, i60, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+1073: jump(p64, p84, p30, p38, descr=TargetToken(140054017998968))
-+1088: --end of the loop--
-[16d18d09ab1a] jit-log-opt-loop}
-[16d18dd7dc9a] {jit-log-opt-bridge
-# bridge out of Guard 12 with 167 ops
-[p0, p1, p2, p3, p4, p5]
-+7: guard_value(p0, ConstPtr(ptr6), descr=<Guard25>) [p0, p1, p5, p4, p2, p3]
-+26: guard_class(p1, 10387816, descr=<Guard26>) [p1, p5, p4, p2, p3]
-+39: p8 = getfield_gc_pure(p1, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+43: guard_class(p8, 10388464, descr=<Guard27>) [p1, p8, p5, p4, p2, p3]
-debug_merge_point(0, 0, '_')
-+56: guard_class(p2, 10386808, descr=<Guard28>) [p8, p2, p5, p4, None, p3]
-+69: p12 = getfield_gc_pure(p2, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+73: p13 = getfield_gc_pure(p2, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+77: p14 = getfield_gc_pure(p2, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+77: p15 = getfield_gc_pure(p2, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-debug_merge_point(0, 0, 'None')
-+81: guard_value(p15, ConstPtr(ptr16), descr=<Guard29>) [p15, p8, p12, p13, p5, p4, None, p3]
-+94: guard_class(p12, 10388464, descr=<Guard30>) [p12, p8, None, p13, p5, p4, None, p3]
-+107: guard_class(p13, 10388464, descr=<Guard31>) [p13, p8, p12, None, p5, p4, None, p3]
-+121: p20 = getfield_gc(ConstPtr(ptr19), descr=<FieldP pyhaskell.interpreter.module.CoreMod.inst_qvars 40>)
-+129: i24 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p20, ConstPtr(ptr22), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+180: guard_no_exception(descr=<Guard32>) [p8, p13, p12, i24, p20, None, None, None, p5, p4, None, p3]
-+195: i26 = int_and(i24, -9223372036854775808)
-+211: i27 = int_is_true(i26)
-guard_false(i27, descr=<Guard33>) [p8, p13, p12, i24, p20, None, None, None, p5, p4, None, p3]
-+221: p28 = getfield_gc(p20, descr=<FieldP dicttable.entries 24>)
-+225: p29 = getinteriorfield_gc(p28, i24, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+234: i30 = instance_ptr_eq(p12, p29)
-guard_true(i30, descr=<Guard34>) [p8, p13, None, None, None, p5, p4, None, p3]
-debug_merge_point(0, 0, 'None')
-+247: i31 = getfield_gc_pure(p13, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+252: i32 = getfield_gc_pure(p8, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+263: i33 = int_sub(i31, i32)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+266: i35 = int_eq(1, i33)
-guard_false(i35, descr=<Guard35>) [p4, i33, None, None, None, p5, None, None, p3]
-+276: i37 = int_eq(0, i33)
-guard_true(i37, descr=<Guard36>) [p4, i33, None, None, None, p5, None, None, p3]
-+286: guard_class(p3, 10388664, descr=<Guard37>) [p4, p3, None, None, None, None, p5, None, None, None]
-p40 = new_with_vtable(10388464)
-setfield_gc(p5, p40, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+396: p41 = getfield_gc(p3, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+400: guard_nonnull_class(p41, 10388464, descr=<Guard38>) [p41, p4, p3, p5, p40]
-+418: guard_class(p5, 10388664, descr=<Guard39>) [p4, p5, p41, p3, None, p40]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc2c0> 0')
-debug_merge_point(0, 0, '_')
-+431: guard_nonnull_class(p4, 10388248, descr=<Guard40>) [p4, None, None, None, None]
-+456: p45 = getfield_gc(p4, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+460: i46 = getfield_gc(p4, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+464: i48 = int_eq(i46, -1)
-guard_false(i48, descr=<Guard41>) [p4, i46, p45, None, None, None, None]
-+474: guard_class(p45, 10386808, descr=<Guard42>) [p4, i46, p45, None, None, None, None]
-+488: p50 = getfield_gc_pure(p45, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+492: p51 = getfield_gc_pure(p45, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+496: p52 = getfield_gc_pure(p45, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+500: guard_value(i46, 2, descr=<Guard43>) [p4, i46, p45, p52, p51, p50, None, None, None, None]
-+510: p54 = getfield_gc_pure(p45, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+514: p55 = getfield_gc(p4, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+518: guard_value(p54, ConstPtr(ptr56), descr=<Guard44>) [p54, p55, None, p51, p50, None, None, None, None]
-+531: guard_class(p50, 10388464, descr=<Guard45>) [p50, p55, None, p51, None, None, None, None, None]
-+544: guard_class(p51, 10388464, descr=<Guard46>) [p51, p55, None, None, p50, None, None, None, None]
-+558: i62 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p20, ConstPtr(ptr60), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+595: guard_no_exception(descr=<Guard47>) [p55, p51, p50, i62, p20, None, None, None, None, None, None, None]
-+610: i64 = int_and(i62, -9223372036854775808)
-+626: i65 = int_is_true(i64)
-guard_false(i65, descr=<Guard48>) [p55, p51, p50, i62, p20, None, None, None, None, None, None, None]
-+636: p66 = getinteriorfield_gc(p28, i62, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+652: i67 = instance_ptr_eq(p50, p66)
-guard_true(i67, descr=<Guard49>) [p55, p51, None, None, None, None, None, None, None]
-debug_merge_point(0, 0, 'None')
-+661: i68 = getfield_gc_pure(p51, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-debug_merge_point(0, 0, 'None')
-+666: guard_nonnull_class(p55, 10388248, descr=<Guard50>) [p55, i68, None, None, None, None, None, None, None]
-+693: p70 = getfield_gc(p55, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+697: i71 = getfield_gc(p55, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+701: i73 = int_eq(i71, -1)
-guard_false(i73, descr=<Guard51>) [p55, i71, p70, i68, None, None, None, None, None, None, None]
-+711: guard_class(p70, 10386808, descr=<Guard52>) [p55, i71, p70, i68, None, None, None, None, None, None, None]
-+724: p75 = getfield_gc_pure(p70, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+728: p76 = getfield_gc_pure(p70, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+732: p77 = getfield_gc_pure(p70, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+736: guard_value(i71, 1, descr=<Guard53>) [p55, i71, p70, p75, p76, p77, i68, None, None, None, None, None, None, None]
-+746: p79 = getfield_gc_pure(p70, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+750: p80 = getfield_gc(p55, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+754: guard_value(p79, ConstPtr(ptr81), descr=<Guard54>) [p79, p80, p75, None, p77, i68, None, None, None, None, None, None, None]
-+767: guard_class(p75, 10388464, descr=<Guard55>) [p75, p80, None, None, p77, i68, None, None, None, None, None, None, None]
-+779: guard_class(p77, 10387816, descr=<Guard56>) [p77, p80, p75, None, None, i68, None, None, None, None, None, None, None]
-debug_merge_point(0, 0, 'None')
-+792: p84 = getfield_gc_pure(p77, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+796: guard_value(p84, ConstPtr(ptr85), descr=<Guard57>) [p84, p77, p80, p75, None, None, i68, None, None, None, None, None, None, None]
-+815: p86 = getfield_gc_pure(p77, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+819: guard_class(p86, 10386808, descr=<Guard58>) [p77, p86, p80, p75, None, None, i68, None, None, None, None, None, None, None]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-+832: p88 = same_as(p86)
-+832: label(p80, p75, i68, p77, p86, p20, p28, descr=TargetToken(140054017999144))
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+839: p89 = getfield_gc_pure(p86, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+843: guard_value(p89, ConstPtr(ptr90), descr=<Guard59>) [p89, p86, p75, p80, i68, p77]
-+856: p91 = getfield_gc_pure(p86, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+860: guard_class(p91, 10388464, descr=<Guard60>) [p91, p86, p75, p80, i68, p77]
-+873: p93 = getfield_gc_pure(p86, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+877: guard_class(p93, 10388464, descr=<Guard61>) [p93, p86, p91, p75, p80, i68, p77]
-+890: p95 = getfield_gc_pure(p86, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+894: guard_class(p95, 10387816, descr=<Guard62>) [p95, p86, p93, p91, p75, p80, i68, p77]
-debug_merge_point(0, 0, 'None')
-+906: p97 = getfield_gc_pure(p95, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+910: guard_value(p97, ConstPtr(ptr98), descr=<Guard63>) [p97, p95, p86, None, None, p75, p80, i68, p77]
-+929: p99 = getfield_gc_pure(p95, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+933: guard_class(p99, 10388464, descr=<Guard64>) [p95, p99, p86, None, None, p75, p80, i68, p77]
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+946: i104 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p20, ConstPtr(ptr102), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+1011: guard_no_exception(descr=<Guard65>) [p99, p93, p91, i104, p20, p86, None, None, p75, p80, i68, p77]
-+1026: i106 = int_and(i104, -9223372036854775808)
-+1042: i107 = int_is_true(i106)
-guard_false(i107, descr=<Guard66>) [p99, p93, p91, i104, p20, p86, None, None, p75, p80, i68, p77]
-+1052: p108 = getinteriorfield_gc(p28, i104, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+1068: i109 = instance_ptr_eq(p91, p108)
-guard_true(i109, descr=<Guard67>) [p99, p93, p86, None, None, p75, p80, i68, p77]
-debug_merge_point(0, 0, 'None')
-+1081: i110 = getfield_gc_pure(p93, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+1092: i111 = getfield_gc_pure(p99, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+1103: i112 = int_sub(i110, i111)
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-+1106: i114 = int_eq(1, i112)
-guard_true(i114, descr=<Guard68>) [i112, None, None, None, p75, p80, i68, p77]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc368> 1')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-+1116: i118 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p20, ConstPtr(ptr116), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+1146: guard_no_exception(descr=<Guard69>) [p80, p75, i118, p20, None, None, None, None, None, None, i68, None]
-+1161: i120 = int_and(i118, -9223372036854775808)
-+1177: i121 = int_is_true(i120)
-guard_false(i121, descr=<Guard70>) [p80, p75, i118, p20, None, None, None, None, None, None, i68, None]
-+1187: p122 = getinteriorfield_gc(p28, i118, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+1203: i123 = instance_ptr_eq(p75, p122)
-guard_true(i123, descr=<Guard71>) [p80, None, None, None, None, None, None, i68, None]
-debug_merge_point(0, 0, 'None')
-+1216: i125 = int_add(i68, 1)
-debug_merge_point(0, 0, 'None')
-+1220: guard_nonnull_class(p80, 10388248, descr=<Guard72>) [p80, i125, None, None, None, None, None, None, None, None]
-+1240: p127 = getfield_gc(p80, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+1244: i128 = getfield_gc(p80, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+1248: i130 = int_eq(i128, -1)
-guard_false(i130, descr=<Guard73>) [p80, i128, p127, i125, None, None, None, None, None, None, None, None]
-+1258: guard_class(p127, 10386808, descr=<Guard74>) [p80, i128, p127, i125, None, None, None, None, None, None, None, None]
-+1271: p132 = getfield_gc_pure(p127, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+1275: p133 = getfield_gc_pure(p127, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+1279: p134 = getfield_gc_pure(p127, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+1283: guard_value(i128, 1, descr=<Guard75>) [p80, i128, p127, p133, p134, p132, i125, None, None, None, None, None, None, None, None]
-+1293: p136 = getfield_gc_pure(p127, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+1297: p137 = getfield_gc(p80, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+1301: guard_value(p136, ConstPtr(ptr138), descr=<Guard76>) [p136, p137, None, p134, p132, i125, None, None, None, None, None, None, None, None]
-+1314: guard_class(p132, 10388464, descr=<Guard77>) [p132, p137, None, p134, None, i125, None, None, None, None, None, None, None, None]
-+1327: guard_class(p134, 10387816, descr=<Guard78>) [p134, p137, None, None, p132, i125, None, None, None, None, None, None, None, None]
-debug_merge_point(0, 0, 'None')
-+1340: p141 = getfield_gc_pure(p134, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+1344: guard_value(p141, ConstPtr(ptr142), descr=<Guard79>) [p141, p134, p137, None, None, p132, i125, None, None, None, None, None, None, None, None]
-+1363: p143 = getfield_gc_pure(p134, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+1367: guard_class(p143, 10386808, descr=<Guard80>) [p134, p143, p137, None, None, p132, i125, None, None, None, None, None, None, None, None]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-+1380: jump(p137, p132, i125, p134, p143, p20, p28, descr=TargetToken(140054017999144))
-+1395: --end of the loop--
-[16d18de6323a] jit-log-opt-bridge}
-[16d18f360db6] {jit-log-opt-bridge
-# bridge out of Guard 23 with 36 ops
-[p0, i1, p2]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc368> 1')
-debug_merge_point(0, 0, '_')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-p4 = new_with_vtable(10388248)
-p6 = new_with_vtable(10386808)
-p8 = new_with_vtable(10387816)
-p10 = new_with_vtable(10386808)
-+106: setfield_gc(p6, ConstPtr(ptr11), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-p13 = new_with_vtable(10387816)
-+132: setfield_gc(p13, ConstPtr(ptr14), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+146: setfield_gc(p13, ConstPtr(ptr15), descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+160: setfield_gc(p10, ConstPtr(ptr16), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+168: setfield_gc(p10, p13, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+172: setfield_gc(p10, ConstPtr(ptr17), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+180: setfield_gc(p8, ConstPtr(ptr18), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-p20 = new_with_vtable(10388800)
-p22 = new_array(2, descr=<ArrayP 8>)
-p24 = new_with_vtable(10388664)
-+239: setfield_gc(p4, p2, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-+250: setfield_gc(p10, p0, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+254: setfield_gc(p8, p10, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+258: setfield_gc(p6, ConstPtr(ptr25), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+266: setfield_gc(p6, p8, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+270: setfield_gc(p6, ConstPtr(ptr17), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+278: setfield_gc(p4, p6, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+282: setfield_gc(p4, 2, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+290: setfield_gc(p24, p10, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+294: setarrayitem_gc(p22, 0, p24, descr=<ArrayP 8>)
-+299: setarrayitem_gc(p22, 1, p24, descr=<ArrayP 8>)
-+304: setfield_gc(p20, p22, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_subst 16>)
-+308: setfield_gc(p20, 1, descr=<FieldU pyhaskell.interpreter.haskell.Substitution.inst_recursive 24>)
-+313: setfield_gc(p20, ConstPtr(ptr30), descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_rhs 8>)
-+327: jump(p4, p20, descr=TargetToken(140054017998880))
-+346: --end of the loop--
-[16d191c90892] jit-log-opt-bridge}
-[16d192029196] {jit-log-opt-bridge
-# bridge out of Guard 36 with 16 ops
-[p0, i1, p2, p3]
-+7: guard_class(p3, 10388664, descr=<Guard81>) [p0, p3, p2, i1]
-p6 = new_with_vtable(10388464)
-+84: setfield_gc(p6, i1, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-setfield_gc(p2, p6, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+114: p7 = getfield_gc(p3, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+118: guard_nonnull_class(p7, 10388464, descr=<Guard82>) [p7, p0, p2, p6, p3]
-+138: guard_class(p2, 10388664, descr=<Guard83>) [p0, p2, p7, None, p6, p3]
-debug_merge_point(0, 0, '<PrimFunction object at 0xa1a300> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc3f8> 1 <Function object at 0x7f60ddfcc0c8> <PrimFunction object at 0xa1a280> 1 dsdrb <Function object at 0x7f60ddfcc0f8> 2')
-debug_merge_point(0, 0, 'None')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-+151: p12 = getfield_gc(ConstPtr(ptr11), descr=<FieldP pyhaskell.interpreter.module.CoreMod.inst_qvars 40>)
-+159: guard_nonnull(p12, descr=<Guard84>) [p0, p7, None, None, None]
-+168: p13 = getfield_gc(p12, descr=<FieldP dicttable.entries 24>)
-+172: guard_nonnull(p13, descr=<Guard85>) [p0, p7, None, None, None]
-+181: jump(p0, p7, p12, p13, descr=TargetToken(140054017998968))
-+221: --end of the loop--
-[16d192046086] jit-log-opt-bridge}
-[16d1923e4d7a] {jit-log-opt-bridge
-# bridge out of Guard 17 with 51 ops
-[p0, i1, p2, p3]
-+7: guard_class(p2, 10388664, descr=<Guard86>) [p0, p2, p3, i1]
-p6 = new_with_vtable(10388464)
-+87: setfield_gc(p6, i1, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-setfield_gc(p3, p6, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+117: p7 = getfield_gc(p2, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+121: guard_nonnull_class(p7, 10388464, descr=<Guard87>) [p7, p0, p6, p2, p3]
-+139: guard_class(p3, 10388664, descr=<Guard88>) [p0, p3, p7, p6, p2, None]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc368> 1')
-debug_merge_point(0, 0, '_')
-+152: guard_nonnull_class(p0, 10388248, descr=<Guard89>) [p0, None, None, None, None]
-+179: p12 = getfield_gc(p0, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+183: i13 = getfield_gc(p0, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+187: i15 = int_eq(i13, -1)
-guard_false(i15, descr=<Guard90>) [p0, i13, p12, None, None, None, None]
-+197: guard_class(p12, 10386808, descr=<Guard91>) [p0, i13, p12, None, None, None, None]
-+209: p17 = getfield_gc_pure(p12, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+213: p18 = getfield_gc_pure(p12, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+217: p19 = getfield_gc_pure(p12, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+221: guard_value(i13, 1, descr=<Guard92>) [p0, i13, p12, p18, p17, p19, None, None, None, None]
-+231: p21 = getfield_gc_pure(p12, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+235: p22 = getfield_gc(p0, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+239: guard_value(p21, ConstPtr(ptr23), descr=<Guard93>) [p21, p22, None, p17, p19, None, None, None, None]
-+252: guard_class(p17, 10388464, descr=<Guard94>) [p17, p22, None, None, p19, None, None, None, None]
-+264: guard_class(p19, 10387816, descr=<Guard95>) [p19, p22, None, p17, None, None, None, None, None]
-debug_merge_point(0, 0, 'None')
-+278: p26 = getfield_gc_pure(p19, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+283: guard_value(p26, ConstPtr(ptr27), descr=<Guard96>) [p26, p19, p22, None, p17, None, None, None, None, None]
-+302: p28 = getfield_gc_pure(p19, descr=<FieldP pyhaskell.interpreter.haskell.Application1.inst_arg0 16>)
-+307: guard_class(p28, 10386808, descr=<Guard97>) [p19, p28, p22, None, p17, None, None, None, None, None]
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc1d0> dsdrb dsdrb')
-debug_merge_point(0, 0, '<Function object at 0x7f60ddfcc230> ds1drc dsdrb ds1drc')
-p31 = new_with_vtable(10388248)
-p33 = new_with_vtable(10386808)
-p35 = new_with_vtable(10388800)
-p37 = new_array(2, descr=<ArrayP 8>)
-p39 = new_with_vtable(10388664)
-+382: setfield_gc(p39, p28, descr=<FieldP pyhaskell.interpreter.haskell.Thunk.inst_application 8>)
-+386: setfield_gc(p31, p22, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-+390: setfield_gc(p33, ConstPtr(ptr40), descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+404: setfield_gc(p33, p19, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+408: setfield_gc(p33, p17, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+412: setfield_gc(p33, ConstPtr(ptr23), descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+420: setfield_gc(p31, p33, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+424: setfield_gc(p31, 2, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+432: setarrayitem_gc(p37, 0, p39, descr=<ArrayP 8>)
-+436: setarrayitem_gc(p37, 1, p39, descr=<ArrayP 8>)
-+440: setfield_gc(p35, p37, descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_subst 16>)
-+444: setfield_gc(p35, 1, descr=<FieldU pyhaskell.interpreter.haskell.Substitution.inst_recursive 24>)
-+449: setfield_gc(p35, ConstPtr(ptr45), descr=<FieldP pyhaskell.interpreter.haskell.Substitution.inst_rhs 8>)
-+463: jump(p31, p35, descr=TargetToken(140054017998880))
-+482: --end of the loop--
-[16d19242f3e6] jit-log-opt-bridge}
-[16d193e56622] {jit-log-opt-bridge
-# bridge out of Guard 53 with 101 ops
-[p0, i1, p2, p3, p4, p5, i6]
-+7: guard_value(i1, 2, descr=<Guard98>) [p0, i1, p2, p4, i6, p5, p3]
-+17: p8 = getfield_gc_pure(p2, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+21: p9 = getfield_gc(p0, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+25: guard_value(p8, ConstPtr(ptr10), descr=<Guard99>) [p8, p9, p4, i6, None, p3]
-+38: guard_class(p3, 10388464, descr=<Guard100>) [p3, p9, p4, i6, None, None]
-+50: guard_class(p4, 10388464, descr=<Guard101>) [p4, p9, None, i6, None, p3]
-+63: p15 = getfield_gc(ConstPtr(ptr14), descr=<FieldP pyhaskell.interpreter.module.CoreMod.inst_qvars 40>)
-+71: i19 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p15, ConstPtr(ptr17), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+115: guard_no_exception(descr=<Guard102>) [p9, p4, p3, i19, p15, None, i6, None, None]
-+130: i21 = int_and(i19, -9223372036854775808)
-+146: i22 = int_is_true(i21)
-guard_false(i22, descr=<Guard103>) [p9, p4, p3, i19, p15, None, i6, None, None]
-+156: p23 = getfield_gc(p15, descr=<FieldP dicttable.entries 24>)
-+160: p24 = getinteriorfield_gc(p23, i19, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+169: i25 = instance_ptr_eq(p3, p24)
-guard_true(i25, descr=<Guard104>) [p9, p4, None, i6, None, None]
-debug_merge_point(0, 0, 'None')
-+182: i26 = getfield_gc_pure(p4, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+193: i27 = int_add(i26, i6)
-debug_merge_point(0, 0, 'None')
-+196: guard_nonnull_class(p9, 10388248, descr=<Guard105>) [p9, i27, None, None, None, None]
-+216: p29 = getfield_gc(p9, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+220: i30 = getfield_gc(p9, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+224: i32 = int_eq(i30, -1)
-guard_false(i32, descr=<Guard106>) [p9, i30, p29, i27, None, None, None, None]
-+234: guard_class(p29, 10386808, descr=<Guard107>) [p9, i30, p29, i27, None, None, None, None]
-+248: p34 = getfield_gc_pure(p29, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+253: p35 = getfield_gc_pure(p29, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+258: p36 = getfield_gc_pure(p29, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+263: guard_value(i30, 2, descr=<Guard108>) [p9, i30, p29, p36, p34, p35, i27, None, None, None, None]
-+273: p38 = getfield_gc_pure(p29, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+278: p39 = getfield_gc(p9, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+282: guard_value(p38, ConstPtr(ptr40), descr=<Guard109>) [p38, p39, None, p34, p35, i27, None, None, None, None]
-+295: guard_class(p34, 10388464, descr=<Guard110>) [p34, p39, None, None, p35, i27, None, None, None, None]
-+308: guard_class(p35, 10388464, descr=<Guard111>) [p35, p39, None, p34, None, i27, None, None, None, None]
-+320: i46 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p15, ConstPtr(ptr44), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+378: guard_no_exception(descr=<Guard112>) [p39, p35, p34, i46, p15, None, None, None, i27, None, None, None, None]
-+393: i48 = int_and(i46, -9223372036854775808)
-+409: i49 = int_is_true(i48)
-guard_false(i49, descr=<Guard113>) [p39, p35, p34, i46, p15, None, None, None, i27, None, None, None, None]
-+419: p50 = getinteriorfield_gc(p23, i46, descr=<InteriorFieldDescr <FieldP dictentry.value 8>>)
-+435: i51 = instance_ptr_eq(p34, p50)
-guard_true(i51, descr=<Guard114>) [p39, p35, None, None, None, i27, None, None, None, None]
-debug_merge_point(0, 0, 'None')
-+448: i52 = getfield_gc_pure(p35, descr=<FieldS pyhaskell.interpreter.primtype.Int.inst_value 8>)
-+459: i53 = int_add(i52, i27)
-debug_merge_point(0, 0, 'None')
-+466: guard_nonnull_class(p39, 10388248, descr=<Guard115>) [p39, i53, None, None, None, None, None, None, None, None]
-+486: p55 = getfield_gc(p39, descr=<FieldP pyhaskell.interpreter.haskell.CopyStackElement.inst_application 16>)
-+490: i56 = getfield_gc(p39, descr=<FieldS pyhaskell.interpreter.haskell.CopyStackElement.inst_index 24>)
-+494: i58 = int_eq(i56, -1)
-guard_false(i58, descr=<Guard116>) [p39, i56, p55, i53, None, None, None, None, None, None, None, None]
-+504: guard_class(p55, 10386808, descr=<Guard117>) [p39, i56, p55, i53, None, None, None, None, None, None, None, None]
-+516: p60 = getfield_gc_pure(p55, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg0 16>)
-+520: p61 = getfield_gc_pure(p55, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg1 24>)
-+524: p62 = getfield_gc_pure(p55, descr=<FieldP pyhaskell.interpreter.haskell.Application3.inst_arg2 32>)
-+528: guard_value(i56, 2, descr=<Guard118>) [p39, i56, p55, p61, p62, p60, i53, None, None, None, None, None, None, None, None]
-+538: p64 = getfield_gc_pure(p55, descr=<FieldP pyhaskell.interpreter.haskell.Application.inst_function 8>)
-+542: p65 = getfield_gc(p39, descr=<FieldP pyhaskell.interpreter.haskell.StackElement.inst_next 8>)
-debug_merge_point(0, 0, 'None')
-+546: guard_value(p64, ConstPtr(ptr66), descr=<Guard119>) [p64, p65, p61, None, p60, i53, None, None, None, None, None, None, None, None]
-+559: guard_class(p60, 10388464, descr=<Guard120>) [p60, p65, p61, None, None, i53, None, None, None, None, None, None, None, None]
-+573: guard_class(p61, 10388464, descr=<Guard121>) [p61, p65, None, None, p60, i53, None, None, None, None, None, None, None, None]
-+586: i72 = call(ConstClass(ll_dict_lookup_trampoline__v113___simple_call__function_l), p15, ConstPtr(ptr70), 7855002835463190997, descr=<Calli 8 rri EF=4>)
-+623: guard_no_exception(descr=<Guard122>) [p65, p61, p60, i72, p15, None, None, None, i53, None, None, None, None, None, None, None, None]
-+638: i74 = int_and(i