-
-
Notifications
You must be signed in to change notification settings - Fork 400
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 environment record panics #1285
Conversation
Test262 conformance changes:
Fixed panics:
|
I vanquished the panics! |
Benchmark for a29dbdcClick to view benchmark
|
Benchmark for eef5887Click to view benchmark
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I would only like a better naming. Benchmarks look reasonably good :)
Benchmark for e6af0fdClick to view benchmark
|
Benchmark for 92b8464Click to view benchmark
|
Benchmark for 8705e2bClick to view benchmark
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good but I'd like if @HalidOdat could give their take.
Doesn't look like that phantom panic happens here. |
Benchmark for a9fc9e4Click to view benchmark
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good @0x7D2B!
Since the GcCell
has been placed to the inner fields of the environments and we no longer need to take it mutable. We can remove the GcCell
from Environment
type definition now.
Benchmark for a559070Click to view benchmark
|
Benchmark for e7314d2Click to view benchmark
|
Benchmark for e7314d2Click to view benchmark
|
This Pull Request fixes environment record panics that appeared after #1131.
The panics were caused by creating errors inside of environment record methods which used
&mut self
. Creating errors would involve getting values from environment records, causing gc to panic. This is fixed by making most environment record methods use&self
and relying on internal mutability instead.