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

[Merged by Bors] - Fix early return in for in loop head #2043

Closed
wants to merge 1 commit into from

Conversation

raskad
Copy link
Member

@raskad raskad commented Apr 23, 2022

This Pull Request changes the following:

  • Fix early return in for in loop head

@raskad raskad added bug Something isn't working execution Issues or PRs related to code execution labels Apr 23, 2022
@raskad raskad added this to the v0.15.0 milestone Apr 23, 2022
@github-actions
Copy link

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 89,014 89,014 0
Passed 53,246 53,250 +4
Ignored 22,149 22,149 0
Failed 13,619 13,615 -4
Panics 0 0 0
Conformance 59.82% 59.82% +0.00%
Fixed tests (4):
test/language/statements/for-in/S12.6.4_A1.js [strict mode] (previously Failed)
test/language/statements/for-in/S12.6.4_A1.js (previously Failed)
test/language/statements/for-in/S12.6.4_A2.js [strict mode] (previously Failed)
test/language/statements/for-in/S12.6.4_A2.js (previously Failed)

@codecov
Copy link

codecov bot commented Apr 23, 2022

Codecov Report

Merging #2043 (495b545) into main (5b46d12) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2043      +/-   ##
==========================================
- Coverage   43.90%   43.90%   -0.01%     
==========================================
  Files         212      212              
  Lines       18734    18735       +1     
==========================================
  Hits         8226     8226              
- Misses      10508    10509       +1     
Impacted Files Coverage Δ
boa_engine/src/vm/mod.rs 61.11% <0.00%> (-0.08%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5b46d12...495b545. Read the comment docs.

@github-actions
Copy link

Benchmark for 3ae8889

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 524.3±0.74ns 528.5±2.04ns +0.80%
Arithmetic operations (Execution) 646.6±0.69ns 629.4±1.93ns -2.66%
Arithmetic operations (Parser) 5.9±0.01µs 5.8±0.01µs -1.69%
Array access (Compiler) 1277.3±2.79ns 1279.5±4.09ns +0.17%
Array access (Execution) 7.7±0.02µs 7.7±0.03µs 0.00%
Array access (Parser) 12.7±0.02µs 12.7±0.03µs 0.00%
Array creation (Compiler) 1834.5±7.02ns 1835.9±5.76ns +0.08%
Array creation (Execution) 2.5±0.00ms 2.6±0.01ms +4.00%
Array creation (Parser) 14.5±0.01µs 14.6±0.02µs +0.69%
Array pop (Compiler) 3.8±0.01µs 4.1±0.22µs +7.89%
Array pop (Execution) 1117.8±36.82µs 1160.0±6.42µs +3.78%
Array pop (Parser) 144.3±0.18µs 144.5±0.12µs +0.14%
Boolean Object Access (Compiler) 1046.5±1.35ns 1064.1±1.83ns +1.68%
Boolean Object Access (Execution) 4.2±0.01µs 4.2±0.01µs 0.00%
Boolean Object Access (Parser) 15.3±0.02µs 15.2±0.01µs -0.65%
Clean js (Compiler) 3.4±0.01µs 3.4±0.01µs 0.00%
Clean js (Execution) 687.4±4.48µs 695.7±4.25µs +1.21%
Clean js (Parser) 31.3±0.03µs 31.4±0.04µs +0.32%
Create Realm 276.3±0.82ns 278.9±0.26ns +0.94%
Dynamic Object Property Access (Compiler) 1638.9±3.66ns 1636.3±6.44ns -0.16%
Dynamic Object Property Access (Execution) 5.4±0.01µs 5.4±0.01µs 0.00%
Dynamic Object Property Access (Parser) 11.3±0.07µs 11.3±0.03µs 0.00%
Fibonacci (Compiler) 2.3±0.00µs 2.3±0.01µs 0.00%
Fibonacci (Execution) 1318.7±3.96µs 1328.0±6.45µs +0.71%
Fibonacci (Parser) 17.2±0.02µs 17.2±0.02µs 0.00%
For loop (Compiler) 1975.1±3.48ns 1970.0±5.92ns -0.26%
For loop (Execution) 15.7±0.08µs 15.5±0.16µs -1.27%
For loop (Parser) 14.6±0.02µs 14.6±0.09µs 0.00%
Mini js (Compiler) 3.3±0.01µs 3.3±0.01µs 0.00%
Mini js (Execution) 650.4±4.05µs 655.5±2.98µs +0.78%
Mini js (Parser) 27.5±0.03µs 27.6±0.02µs +0.36%
Number Object Access (Compiler) 1021.5±1.86ns 1017.4±2.21ns -0.40%
Number Object Access (Execution) 3.2±0.01µs 3.2±0.01µs 0.00%
Number Object Access (Parser) 11.8±0.01µs 11.8±0.05µs 0.00%
Object Creation (Compiler) 1409.7±2.23ns 1399.0±1.39ns -0.76%
Object Creation (Execution) 5.0±0.02µs 5.0±0.05µs 0.00%
Object Creation (Parser) 9.8±0.02µs 9.8±0.01µs 0.00%
RegExp (Compiler) 1645.9±2.90ns 1657.1±2.84ns +0.68%
RegExp (Execution) 10.9±0.06µs 11.0±0.04µs +0.92%
RegExp (Parser) 10.8±0.02µs 10.8±0.03µs 0.00%
RegExp Creation (Compiler) 1443.5±3.44ns 1414.6±2.25ns -2.00%
RegExp Creation (Execution) 8.3±0.02µs 8.2±0.03µs -1.20%
RegExp Creation (Parser) 9.0±0.02µs 9.0±0.02µs 0.00%
RegExp Literal (Compiler) 1646.3±3.03ns 1619.7±7.00ns -1.62%
RegExp Literal (Execution) 11.0±0.06µs 11.1±0.06µs +0.91%
RegExp Literal (Parser) 8.8±0.01µs 8.8±0.02µs 0.00%
RegExp Literal Creation (Compiler) 1430.5±3.18ns 1398.3±2.27ns -2.25%
RegExp Literal Creation (Execution) 8.2±0.03µs 8.2±0.12µs 0.00%
RegExp Literal Creation (Parser) 7.0±0.01µs 7.0±0.02µs 0.00%
Static Object Property Access (Compiler) 1438.5±3.79ns 1388.0±4.12ns -3.51%
Static Object Property Access (Execution) 5.2±0.01µs 5.2±0.02µs 0.00%
Static Object Property Access (Parser) 10.5±0.02µs 10.5±0.01µs 0.00%
String Object Access (Compiler) 1430.8±3.10ns 1426.6±3.31ns -0.29%
String Object Access (Execution) 5.9±0.02µs 5.8±0.02µs -1.69%
String Object Access (Parser) 15.0±0.01µs 14.9±0.01µs -0.67%
String comparison (Compiler) 2.1±0.00µs 2.1±0.00µs 0.00%
String comparison (Execution) 4.6±0.01µs 4.5±0.01µs -2.17%
String comparison (Parser) 11.6±0.05µs 11.7±0.03µs +0.86%
String concatenation (Compiler) 1653.8±3.90ns 1629.1±2.84ns -1.49%
String concatenation (Execution) 4.4±0.01µs 4.4±0.01µs 0.00%
String concatenation (Parser) 8.1±0.02µs 8.1±0.01µs 0.00%
String copy (Compiler) 1334.6±5.49ns 1316.2±11.72ns -1.38%
String copy (Execution) 4.1±0.02µs 4.1±0.01µs 0.00%
String copy (Parser) 5.9±0.01µs 6.0±0.02µs +1.69%
Symbols (Compiler) 923.6±1.56ns 925.3±2.32ns +0.18%
Symbols (Execution) 4.1±0.01µs 4.1±0.01µs 0.00%
Symbols (Parser) 4.6±0.01µs 4.7±0.01µs +2.17%

@Razican
Copy link
Member

Razican commented Apr 23, 2022

bors r+

bors bot pushed a commit that referenced this pull request Apr 23, 2022
This Pull Request changes the following:

- Fix early return in `for in loop` head
@bors
Copy link

bors bot commented Apr 23, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Fix early return in for in loop head [Merged by Bors] - Fix early return in for in loop head Apr 23, 2022
@bors bors bot closed this Apr 23, 2022
@bors bors bot deleted the fix-loop-init-early-return branch April 23, 2022 23:00
Razican pushed a commit that referenced this pull request Jun 8, 2022
This Pull Request changes the following:

- Fix early return in `for in loop` head
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.

3 participants