Skip to content
This repository has been archived by the owner on Jun 1, 2023. It is now read-only.

proto: activate sub inlining without () proto #87

Open
rurban opened this issue Dec 12, 2015 · 0 comments
Open

proto: activate sub inlining without () proto #87

rurban opened this issue Dec 12, 2015 · 0 comments
Assignees

Comments

@rurban
Copy link
Member

rurban commented Dec 12, 2015

we have two ways to constant fold subs.

fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma. there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems

  1. fair, and
  2. even other prototypes should be allowed to fold
    if those parameters are ignored in the body, when at compile-time the body
    folds to a constant sv.

branch feature/gh87-types-proto
WIP: but I am still getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.

@rurban rurban self-assigned this Dec 12, 2015
rurban pushed a commit that referenced this issue Nov 2, 2018
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Nov 25, 2018
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Mar 18, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Apr 1, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Apr 5, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Apr 5, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Apr 30, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jun 12, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jun 24, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jun 26, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jun 27, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jul 1, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jul 2, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jul 2, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jul 3, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Aug 25, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Dec 17, 2019
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jan 19, 2020
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
rurban pushed a commit that referenced this issue Jan 19, 2020
See [cperl #87]
We have two ways to constant fold subs.
fold to a fast CONSTSUB without entersub
and fold to a dummy XS call with returning the value immediately.

there’s no semantic visibility of those 3 variants, other than the required
() proto or the usage of use constant pragma.  there’s no semantic
distinction of constant folded to CONSTSUB, dummy_xs or not constant folded
subs, other than improved run-time performance and a different internal
representation.

dropping the requirement to use the () seems
1. fair, and
2. even other prototypes should be allowed to fold
if those parameters are ignored in the body, when at compile-time the body
folds to a constant sv.

WIP: but I am getting prototype mismatches

CHANGE: set the proto of the created dummy XS to "" or "$" if a method.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant