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 panic when a self mutating function is constructing an object #710

Merged
merged 1 commit into from Sep 22, 2020

Conversation

HalidOdat
Copy link
Member

Related to #663

@HalidOdat HalidOdat added bug Something isn't working execution Issues or PRs related to code execution labels Sep 22, 2020
@HalidOdat HalidOdat added this to the v0.10.0 milestone Sep 22, 2020
@HalidOdat HalidOdat linked an issue Sep 22, 2020 that may be closed by this pull request
@github-actions
Copy link

Benchmark for ec2099b

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 359.3±8.99ns 355.3±7.57ns +1.13%
Arithmetic operations (Full) 247.8±4.95µs 245.9±2.71µs +0.77%
Array access (Execution) 8.1±0.13µs 8.1±0.12µs 0.00%
Array access (Full) 264.3±4.25µs 261.7±5.94µs +0.99%
Array creation (Execution) 3.3±0.06ms 3.3±0.06ms 0.00%
Array creation (Full) 3.3±0.06ms 3.3±0.06ms 0.00%
Array pop (Execution) 1182.5±27.15µs 1198.0±20.54µs -1.29%
Array pop (Full) 1529.6±26.55µs 1539.0±43.17µs -0.61%
Boolean Object Access (Execution) 4.7±0.12µs 4.7±0.09µs 0.00%
Boolean Object Access (Full) 257.4±4.15µs 255.1±3.53µs +0.90%
Clean js (Execution) 734.2±14.88µs 734.0±15.76µs +0.03%
Clean js (Full) 1007.5±17.39µs 1022.2±8.90µs -1.44%
Clean js (Parser) 34.4±0.63µs 35.4±0.11µs -2.82%
Create Realm 466.1±7.67ns 457.5±9.83ns +1.88%
Dynamic Object Property Access (Execution) 5.3±0.11µs 5.3±0.11µs 0.00%
Dynamic Object Property Access (Full) 258.9±3.04µs 260.6±4.16µs -0.65%
Expression (Parser) 6.6±0.10µs 6.6±0.08µs 0.00%
Fibonacci (Execution) 792.0±15.59µs 787.0±16.84µs +0.64%
Fibonacci (Full) 1075.9±17.90µs 1063.2±23.16µs +1.19%
For loop (Execution) 22.1±0.39µs 21.9±0.40µs +0.91%
For loop (Full) 280.0±5.88µs 276.6±4.42µs +1.23%
For loop (Parser) 16.8±0.32µs 17.1±0.07µs -1.75%
Goal Symbols (Parser) 11.6±0.19µs 11.7±0.05µs -0.85%
Hello World (Parser) 2.9±0.05µs 3.0±0.01µs -3.33%
Long file (Parser) 747.4±13.10ns 761.1±2.39ns -1.80%
Mini js (Execution) 663.8±12.85µs 661.7±11.73µs +0.32%
Mini js (Full) 938.9±8.30µs 936.7±7.27µs +0.23%
Mini js (Parser) 30.5±0.61µs 31.3±0.11µs -2.56%
Number Object Access (Execution) 3.8±0.05µs 3.7±0.07µs +2.70%
Number Object Access (Full) 250.8±5.28µs 253.3±1.70µs -0.99%
Object Creation (Execution) 4.5±0.07µs 4.5±0.11µs 0.00%
Object Creation (Full) 257.8±3.89µs 251.3±4.55µs +2.59%
RegExp (Execution) 63.5±1.67µs 65.0±1.37µs -2.31%
RegExp (Full) 327.9±6.26µs 333.2±3.64µs -1.59%
RegExp Literal (Execution) 67.9±1.66µs 66.8±1.71µs +1.65%
RegExp Literal (Full) 332.2±5.56µs 327.0±5.67µs +1.59%
RegExp Literal Creation (Execution) 63.9±1.42µs 63.8±1.79µs +0.16%
RegExp Literal Creation (Full) 327.7±5.76µs 323.3±4.55µs +1.36%
Static Object Property Access (Execution) 4.8±0.09µs 4.7±0.11µs +2.13%
Static Object Property Access (Full) 255.8±4.69µs 255.3±1.89µs +0.20%
String Object Access (Execution) 6.9±0.11µs 6.8±0.12µs +1.47%
String Object Access (Full) 261.7±4.13µs 256.5±4.54µs +2.03%
String comparison (Execution) 6.4±0.12µs 6.2±0.14µs +3.23%
String comparison (Full) 258.9±5.28µs 260.9±3.16µs -0.77%
String concatenation (Execution) 5.2±0.08µs 5.0±0.11µs +4.00%
String concatenation (Full) 249.4±5.15µs 254.0±3.23µs -1.81%
String copy (Execution) 3.8±0.14µs 3.7±0.10µs +2.70%
String copy (Full) 243.7±6.28µs 249.0±1.67µs -2.13%
Symbols (Execution) 3.1±0.08µs 3.1±0.06µs 0.00%
Symbols (Full) 231.4±4.15µs 231.5±4.26µs -0.04%

@HalidOdat HalidOdat merged commit 3f6a8ef into master Sep 22, 2020
@HalidOdat HalidOdat deleted the fix/construct-borrow-panic branch September 22, 2020 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working execution Issues or PRs related to code execution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Calling a function that mutates itself causes borrow panic
1 participant