diff options
author | Björn Gustavsson <[email protected]> | 2011-01-18 16:45:50 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-01-18 16:57:26 +0100 |
commit | 5b8609d544911b60a1c384b11d96c147128a848d (patch) | |
tree | 42f0947c42620e71250078f17d3dfd19c1982431 | |
parent | faef041a446314bb228e0e8c88a09241df2798f1 (diff) | |
download | otp-5b8609d544911b60a1c384b11d96c147128a848d.tar.gz otp-5b8609d544911b60a1c384b11d96c147128a848d.tar.bz2 otp-5b8609d544911b60a1c384b11d96c147128a848d.zip |
Lower the maximum arity from 256 to 255
Historically, for no good reason, a function is allowed to have
from 0 to 256 arguments. Thus, the number of arguments *almost*
fits into a byte.
HiPE only supports up to 255 arguments (because it assumes that
the function arity fits into a single byte), and fixing that limitation
would require ugly special-case handling. In Dialyzer, the arity
type is defined to be a byte (i.e. 0..255).
Since no-one uses functions with 256 arguments anyway, lower the
limit to 255.
-rw-r--r-- | erts/emulator/beam/erl_vm.h | 4 | ||||
-rw-r--r-- | system/doc/efficiency_guide/advanced.xml | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/erts/emulator/beam/erl_vm.h b/erts/emulator/beam/erl_vm.h index 48fa99934e..5b42a2ce11 100644 --- a/erts/emulator/beam/erl_vm.h +++ b/erts/emulator/beam/erl_vm.h @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 1996-2010. All Rights Reserved. + * Copyright Ericsson AB 1996-2011. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -47,7 +47,7 @@ #define SEQ_TRACE 1 #define CONTEXT_REDS 2000 /* Swap process out after this number */ -#define MAX_ARG 256 /* Max number of arguments allowed */ +#define MAX_ARG 255 /* Max number of arguments allowed */ #define MAX_REG 1024 /* Max number of x(N) registers used */ /* Scheduler stores data for temporary heaps if diff --git a/system/doc/efficiency_guide/advanced.xml b/system/doc/efficiency_guide/advanced.xml index 2383e3cf3d..8126b93a2d 100644 --- a/system/doc/efficiency_guide/advanced.xml +++ b/system/doc/efficiency_guide/advanced.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2001</year><year>2010</year> + <year>2001</year><year>2011</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -200,7 +200,7 @@ On 64-bit architectures: 4 words for a reference from the current local node, an <seealso marker="#ports">the maximum number of Erlang ports</seealso> available, and operating system specific settings and limits.</item> <tag><em>Number of arguments to a function or fun</em></tag> - <item>256</item> + <item>255</item> </taglist> </section> </chapter> |