mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 18:03:36 +00:00
compiler/ml_unify_gen.m:
Expand double-word args and pack sub-word arguments in the same pass,
initially for dynamically constructed cells only.
Doing both in the same pass is a prerequisite for future improvements
in argument packing schemes.
tests/hard_coded/packed_arg_partial_inst.{m,exp}:
A new test case to test the packing of arguments when some of them
have inst "free".
tests/hard_coded/Mmakefile:
Enable the new test case.
49 lines
2.3 KiB
Plaintext
49 lines
2.3 KiB
Plaintext
[struct(11, apple, yes, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(22, apple, yes, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(22, apple, no, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(42, apple, yes, orange, no, pear, "abc")]
|
|
found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(42, apple, yes, apple, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
not found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(42, apple, no, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, yes, orange, no, pear, "abc")]
|
|
found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, yes, apple, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, no, orange, no, pear, "abc")]
|
|
not found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|
|
[struct(11, apple, yes, orange, no, pear, "abc"), struct(42, apple, yes, orange, no, pear, "abc"), struct(42, apple, yes, apple, no, pear, "abc"), struct(42, apple, no, orange, no, pear, "abc")]
|
|
found struct(42, _, yes, orange, _, _, _)
|
|
found struct(_, _, _, orange, _, pear, _)
|
|
|