diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2021-09-20 09:21:09 +0200 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2021-10-15 08:13:13 +0200 |
commit | d424e1dffbe6303475656f0fa847c00fb356add4 (patch) | |
tree | cfe399a57944421b740e5af8752c51ccfddf4a05 /lib/compiler/test/Makefile | |
parent | 16c5728f442b51caca42bcd827a2058051ef8733 (diff) | |
download | erlang-d424e1dffbe6303475656f0fa847c00fb356add4.tar.gz |
compiler: Add a new instruction for creating binaries
Binary construction using the binary syntax currently uses multiple
instructions. That makes it hard to provide good information in the
exception if construction fails. It also makes it harder to optimize
construction in the JIT.
Therefore, introduce the instruction `bs_create_bin` that constructs
a binary in one go.
To be able to test the new instruction before implementing it in the
runtime system, force translation back to the old-style instructions
in the `beam_clean` pass.
Diffstat (limited to 'lib/compiler/test/Makefile')
-rw-r--r-- | lib/compiler/test/Makefile | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile index 467a2be6e3..5ee52c7cb3 100644 --- a/lib/compiler/test/Makefile +++ b/lib/compiler/test/Makefile @@ -106,6 +106,11 @@ INLINE= \ R23= \ fun +R24= \ + bs_construct \ + bs_utf \ + bs_bincomp + DIALYZER = bs_match CORE_MODULES = \ @@ -128,6 +133,8 @@ INLINE_MODULES= $(INLINE:%=%_inline_SUITE) INLINE_ERL_FILES= $(INLINE_MODULES:%=%.erl) R23_MODULES= $(R23:%=%_r23_SUITE) R23_ERL_FILES= $(R23_MODULES:%=%.erl) +R24_MODULES= $(R24:%=%_r24_SUITE) +R24_ERL_FILES= $(R24_MODULES:%=%.erl) NO_MOD_OPT_MODULES= $(NO_MOD_OPT:%=%_no_module_opt_SUITE) NO_MOD_OPT_ERL_FILES= $(NO_MOD_OPT_MODULES:%=%.erl) NO_SSA_OPT_MODULES= $(NO_SSA_OPT:%=%_no_ssa_opt_SUITE) @@ -169,7 +176,7 @@ DISABLE_SSA_OPT = +no_bool_opt +no_share_opt +no_bsm_opt +no_fun_opt +no_ssa_opt make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(NO_SSA_OPT_ERL_FILES) \ $(NO_CORE_OPT_ERL_FILES) $(INLINE_ERL_FILES) $(R23_ERL_FILES) \ $(NO_MOD_OPT_ERL_FILES) $(NO_TYPE_OPT_ERL_FILES) \ - $(DIALYZER_ERL_FILES) + $(DIALYZER_ERL_FILES) $(R24_ERL_FILES) $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) \ > $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +no_copt $(DISABLE_SSA_OPT) +no_postopt \ @@ -184,6 +191,8 @@ make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(NO_SSA_OPT_ERL_FILES -o$(EBIN) $(INLINE_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +r23 $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(R23_MODULES) >> $(EMAKEFILE) + $(ERL_TOP)/make/make_emakefile +r24 $(ERL_COMPILE_FLAGS) \ + -o$(EBIN) $(R24_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +no_module_opt $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(NO_MOD_OPT_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +from_core $(ERL_COMPILE_FLAGS) \ @@ -225,6 +234,9 @@ docs: %_r23_SUITE.erl: %_SUITE.erl sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ +%_r24_SUITE.erl: %_SUITE.erl + sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ + %_no_module_opt_SUITE.erl: %_SUITE.erl sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ @@ -246,7 +258,9 @@ release_tests_spec: make_emakefile $(INSTALL_DATA) compiler.spec compiler.cover \ $(EMAKEFILE) $(ERL_FILES) "$(RELSYSDIR)" $(INSTALL_DATA) $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) \ - $(INLINE_ERL_FILES) $(R23_ERL_FILES) \ + $(INLINE_ERL_FILES) \ + $(R23_ERL_FILES) \ + $(R24_ERL_FILES) \ $(NO_CORE_OPT_ERL_FILES) \ $(NO_MOD_OPT_ERL_FILES) \ $(NO_SSA_OPT_ERL_FILES) \ |