Changes between Version 4 and Version 5 of CallingConventionsOverview
- Timestamp:
- 09/26/09 13:34:15 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CallingConventionsOverview
v4 v5 4 4 5 5 The following opcodes will be kept, but their implementation changed. 6 {{{ 6 7 src/ops/core.ops: 7 8 set_args … … 9 10 set_returns 10 11 get_results 12 }}} 11 13 12 14 The following functions are deprecated and will be removed, as well as any functions only called by these functions. 15 {{{ 13 16 src/call/pcc.c: 14 17 parrot_pass_args … … 37 40 Parrot_run_meth_fromc_arglist_retf 38 41 39 src/extend.c (these functions are part of the defined public API, so will be modified to be backward compatible for now, and removed after 2.0): 42 src/extend.c (these functions are part of the defined public API, so will 43 be modified to be backward compatible for now, and removed after 2.0): 40 44 Parrot_call_sub 41 45 Parrot_call_sub_ret_int … … 50 54 set_nci_S 51 55 set_nci_P 56 }}} 52 57 53 58 The following code generators have been updated to produce new-style argument retrieval, instead of old-style argument retreival: 54 59 {{{ 55 60 tools/build/nativecall.pl 56 61 lib/Parrot/Pmc2c/PCCMETHOD.pm 57 62 }}} 58 63 59 64 The following functions are added and act as replacements for the deprecated functions. 60 65 {{{ 61 66 src/call/pcc.c: 62 67 Parrot_pcc_invoke_sub_from_c_args … … 68 73 Parrot_pcc_fill_returns_from_op 69 74 Parrot_pcc_fill_returns_from_c_args 70 75 }}} 71 76 72 77 The following static functions are added, and support the new argument passing behavior: 73 78 {{{ 74 79 src/call/pcc.c: 75 80 dissect_aggregate_arg … … 82 87 Parrot_pcc_set_call_sig_raw_args 83 88 Parrot_pcc_set_call_sig_raw_returns 84 89 }}} 85 90 86 91 See also the earlier wishlist/tasklist CallingConventionsTasklist which mentions some of the motivations and reasoning for these changes.