Tamarin::AVM2 Overview Errata: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(greaterequals)
(Improve the desription of cpool_info (page 20, section 4.3).)
Line 2: Line 2:


On page 15, "Registers 1 through method_info.param_count holds parameter values coerced to the declared types of the parameters. If fewer than ''method_body_info.local_count'' values are supplied to the call then the remaining values are either the values provided by default value declarations (optional arguments) or the value undefined." may be technically correct, but "If fewer than ''method_info.param_count'' values are supplied" reads better with "The rest of registers are initialized to the value undefined" added after NEED_REST and NEED_ARGUMENTS clauses.
On page 15, "Registers 1 through method_info.param_count holds parameter values coerced to the declared types of the parameters. If fewer than ''method_body_info.local_count'' values are supplied to the call then the remaining values are either the values provided by default value declarations (optional arguments) or the value undefined." may be technically correct, but "If fewer than ''method_info.param_count'' values are supplied" reads better with "The rest of registers are initialized to the value undefined" added after NEED_REST and NEED_ARGUMENTS clauses.
On page 20 (section 4.3), the definition of the various '*_count' fields in the constants pool is not clear enough. The cpool_info structure appears to be a C-like syntax where the expression "s32 integer[int_count]" means array with int_count items. Using "s32 integer[int_count-1]" instead would better describe the actual file layout in question. [http://groups.google.com/group/mozilla.dev.tech.js-engine/browse_thread/thread/394a89fe983ac3ab]


On page 25, "The number of optional parameters is given by option_count, which must not be zero nor greater than the ''parameter_count'' field of the enclosing method_info structure" should read ''param_count''.
On page 25, "The number of optional parameters is given by option_count, which must not be zero nor greater than the ''parameter_count'' field of the enclosing method_info structure" should read ''param_count''.


On page 66, instruction name is ''greaterequals'' but format, forms, and description are those of ''greaterthan'.
On page 66, instruction name is ''greaterequals'' but format, forms, and description are those of ''greaterthan'.

Revision as of 21:05, 2 January 2008

Enter possible errata for the AVM2 Overview.

On page 15, "Registers 1 through method_info.param_count holds parameter values coerced to the declared types of the parameters. If fewer than method_body_info.local_count values are supplied to the call then the remaining values are either the values provided by default value declarations (optional arguments) or the value undefined." may be technically correct, but "If fewer than method_info.param_count values are supplied" reads better with "The rest of registers are initialized to the value undefined" added after NEED_REST and NEED_ARGUMENTS clauses.

On page 20 (section 4.3), the definition of the various '*_count' fields in the constants pool is not clear enough. The cpool_info structure appears to be a C-like syntax where the expression "s32 integer[int_count]" means array with int_count items. Using "s32 integer[int_count-1]" instead would better describe the actual file layout in question. [1]

On page 25, "The number of optional parameters is given by option_count, which must not be zero nor greater than the parameter_count field of the enclosing method_info structure" should read param_count.

On page 66, instruction name is greaterequals but format, forms, and description are those of greaterthan'.