Revision 92b210e151d186b7b6c16a6a36afbe7cfd98996d authored by Nathan Daly on 03 April 2024, 06:38:44 UTC, committed by Nathan Daly on 03 April 2024, 06:52:04 UTC
```
function my_hot_function(args...)
    # ...setup...
    x,y = 1, 2 # ...
    z = 0

    # hot regions must stay performant
    @enforce_stable begin
        for i in 1:1000
            # ...
            z = x + y + z
            # ...
            i % 100 == 0 && @allow_unstable @info "computed $z"
        end
    end

    return z
end
```
1 parent 718b988
Raw File
objconv.mk
## objconv ##
include $(SRCDIR)/objconv.version

ifneq ($(USE_BINARYBUILDER_OBJCONV),1)

$(SRCCACHE)/objconv.zip: | $(SRCCACHE)
	$(JLDOWNLOAD) $@ https://www.agner.org/optimize/objconv.zip

$(BUILDDIR)/objconv/source-extracted: $(SRCCACHE)/objconv.zip
	rm -rf $(dir $@)
	mkdir -p $(BUILDDIR)
	unzip -d $(dir $@) $<
	cd $(dir $@) && unzip source.zip
	echo 1 > $@

$(BUILDDIR)/objconv/build-compiled: $(BUILDDIR)/objconv/source-extracted
	cd $(dir $<) && $(CXX) -o objconv -O2 *.cpp
	echo 1 > $@

$(eval $(call staged-install, \
	objconv,objconv, \
	BINFILE_INSTALL,$$(BUILDDIR)/objconv/objconv,,))

clean-objconv:
	-rm -f $(BUILDDIR)/objconv/build-compiled $(build_depsbindir)/objconv

distclean-objconv:
	rm -rf $(SRCCACHE)/objconv.zip $(BUILDDIR)/objconv


get-objconv: $(SRCCACHE)/objconv.zip
extract-objconv: $(BUILDDIR)/objconv/source-extracted
configure-objconv: extract-objconv
compile-objconv: $(BUILDDIR)/objconv/build-compiled
fastcheck-objconv: check-objconv
check-objconv: compile-objconv

else

$(eval $(call bb-install,objconv,OBJCONV,false))

endif
back to top