Skip to content

Conversation

nikic
Copy link
Member

@nikic nikic commented Jun 6, 2019

This patch disables checking of arginfo types on internal function calls. Types will only be checked by zpp now. This will allow us to add arginfo information to internal functions without introducing a significant performance hit by performing duplicate type checks.

In debug builds, we make sure that either the function threw or the arginfo verification succeeds. This will help to detect cases where types specified in arginfo are out of sync with what is specified in zpp. This sanity check currently allows null for scalar typed arguments -- we can forbid them if/when we do so in zpp as well (relevant discussion: https://externals.io/message/105845).

This patch also fixes two existing places with an arginfo/zpp mismatch.

Test differences are due to different error messages for arginfo and zpp. We might want to unify these as well, but let's do that separately.

@nikic nikic force-pushed the dont-check-internal-arginfo branch from 5f1b964 to f39e337 Compare June 14, 2019 13:17
Copy link
Member

@dstogov dstogov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine

@nikic
Copy link
Member Author

nikic commented Jun 17, 2019

Merged.

@nikic nikic closed this Jun 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants