Ticket #22 (closed todo: wontfix)

Opened 13 years ago

Last modified 13 years ago

Re-evaluate max. number of get_args values

Reported by: kjs Owned by:
Priority: minor Milestone: 1.0
Component: core Version: trunk
Severity: low Keywords: PCC
Cc: parrot-dev@… Language:
Patch status: Platform: all

Description

In compilers/imcc/pcc.c, in the function pcc_get_args, there is a #define for the maximum number of get_args values:

#define PCC_GET_ARGS_LIMIT 15

The comment that goes with it says:

/* Avoid allocations on frequent number of params.

  • Arbitrary value, some fine tunning may be good. */

The number of 15 seems indeed to be arbitrary, and is certainly a limitation. This ticket then is to pick one of the following options:

1. leave it to 15. 2. increase it to some higher number 3. make it flexible, allowing any number of get_args values.

This must be decided and implemented.

kjs

Change History

Changed 13 years ago by coke

  • keywords PCC added; parrot calling conventions removed
  • summary changed from [core] Re-evaluate max. number of get_args values to Re-evaluate max. number of get_args values

Changed 13 years ago by NotFound

I was mistakenly answered this by email some weeks ago.

In compilers/imcc/pcc.c, in the function pcc_get_args, there is a #define for the maximum number of get_args values: #define PCC_GET_ARGS_LIMIT 15

This is not the max number of values allowed, is just the number of values that can be processed without allocating and deallocating memory. Sorry if the name is misleading.

The number of 15 seems indeed to be arbitrary, and is certainly a limitation.

Not a limitation, if the number is greater memory is allocated and deallocated, instead of using local variables.

This must be decided and implemented.

No need to implement nothing. The micro-optimization can be reverted to always allocate, if desired. Or the macro can be renamed and the comment made more clear, but that can be better done by someone more fluent in english than me.

Changed 13 years ago by allison

  • status changed from new to closed
  • resolution set to wontfix

The micro-optimization is fine. (IMCC is on the way out anyway.)

Note: See TracTickets for help on using tickets.