Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix performance issue in ArrayLiteralNode and optimize access of context objects #358

Merged
merged 3 commits into from Jun 17, 2020

Conversation

smarr
Copy link
Owner

@smarr smarr commented Jun 17, 2020

The specialization logic was included into the compilation, which causes code bloat.

The context objects could be well optimized in some cases where outer context access would cause a virtual method call, because the type was not known at compilation.

@sophie-kaleba: the two optimizations might be interesting for you, just as other examples.

This PR also remove the "Method"/"Primitive" strings from the names of the corresponding objects. Should be obvious enough in compilation logs.

We only need to deoptimize when we actually got something other than the expected type.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is mostly to make the output of --perf-warnings more concise

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
@smarr smarr added the maintenance Cleanups, minor fixes or improvements, version updates label Jun 17, 2020
@smarr smarr added this to the v0.8.0 milestone Jun 17, 2020
@smarr smarr self-assigned this Jun 17, 2020
@smarr smarr merged commit 766df80 into dev Jun 17, 2020
@smarr smarr deleted the perf-changes branch June 17, 2020 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Cleanups, minor fixes or improvements, version updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant