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

Implement function pointers #253

Merged
merged 4 commits into from
Dec 6, 2019
Merged

Implement function pointers #253

merged 4 commits into from
Dec 6, 2019

Conversation

erikzhang
Copy link
Member

Closes #190

Copy link
Member

@vncoelho vncoelho left a comment

Choose a reason for hiding this comment

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

Lets go

src/neo-vm/ExecutionEngine.cs Show resolved Hide resolved
src/neo-vm/OpCode.cs Show resolved Hide resolved
igormcoelho
igormcoelho previously approved these changes Dec 6, 2019
Copy link
Contributor

@igormcoelho igormcoelho left a comment

Choose a reason for hiding this comment

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

Looks very good to me.. didn't test it, but it's very similar to what I expected.

Copy link
Contributor

@igormcoelho igormcoelho left a comment

Choose a reason for hiding this comment

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

Testing looks good, but address looks very big on practice... a helpful alternative would be PUSHA and PUSHA_L

@erikzhang
Copy link
Member Author

No. I won't provide _L for every opcodes. I will only do that for the most used opcodes.

Copy link
Member

@shargon shargon left a comment

Choose a reason for hiding this comment

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

Did you consider use it with Interop<Pointer> instead of create a new stack item?

@erikzhang
Copy link
Member Author

I think it is not related to interop. So it doesn't make sense to use intero.

@igormcoelho
Copy link
Contributor

I agree that Interop is for external things Shargon... some internal neo-vm system may not even use Interops, so it's necessary to keep it self-contained.

Copy link
Contributor

@igormcoelho igormcoelho left a comment

Choose a reason for hiding this comment

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

Looks good, and tested.

@vncoelho vncoelho merged commit dd9ddeb into master Dec 6, 2019
@vncoelho vncoelho deleted the 3.0/function-pointers branch December 6, 2019 18:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create LambdaStackItem and discussions on Function Pointers
4 participants