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

Added "unimplemented" syntax errors #901

Merged
merged 3 commits into from
Oct 20, 2020
Merged

Added "unimplemented" syntax errors #901

merged 3 commits into from
Oct 20, 2020

Conversation

Razican
Copy link
Member

@Razican Razican commented Oct 20, 2020

This removes the panics in for...in parsing. It will still fail, but at least we don't bring the process down. This comes from the idea that "every panic is a bug", not just an unimplemented feature.

@Razican Razican added bug Something isn't working parser Issues surrounding the parser labels Oct 20, 2020
@Razican Razican added this to the v0.11.0 milestone Oct 20, 2020
@github-actions
Copy link

github-actions bot commented Oct 20, 2020

Test262 conformance changes:

Test result master count PR count difference
Total 78,413 78,415 +2
Passed 18,189 18,220 +31
Ignored 15,507 15,507 0
Failed 44,717 44,688 -29
Panics 13,519 12,480 -1,039
Conformance 23.20 23.24 +0.04%

@codecov
Copy link

codecov bot commented Oct 20, 2020

Codecov Report

Merging #901 into master will decrease coverage by 0.05%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #901      +/-   ##
==========================================
- Coverage   59.44%   59.39%   -0.06%     
==========================================
  Files         166      166              
  Lines       10474    10483       +9     
==========================================
  Hits         6226     6226              
- Misses       4248     4257       +9     
Impacted Files Coverage Δ
boa/src/syntax/parser/error.rs 38.23% <0.00%> (-3.71%) ⬇️
...syntax/parser/statement/iteration/for_statement.rs 80.43% <0.00%> (-5.62%) ⬇️

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 fbb1077...7d90254. Read the comment docs.

Copy link
Member

@HalidOdat HalidOdat 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 to me! :)

@github-actions
Copy link

Benchmark for e112dbf

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 363.0±9.09ns 385.7±12.12ns -5.89%
Arithmetic operations (Full) 262.7±9.66µs 263.0±11.67µs -0.11%
Array access (Execution) 8.6±0.24µs 8.6±0.30µs 0.00%
Array access (Full) 282.7±10.72µs 259.1±14.97µs +9.11%
Array creation (Execution) 2.7±0.08ms 2.7±0.10ms 0.00%
Array creation (Full) 3.1±0.12ms 2.7±0.12ms +14.81%
Array pop (Execution) 1011.6±34.69µs 1000.7±51.89µs +1.09%
Array pop (Full) 1517.2±53.34µs 1351.8±41.36µs +12.24%
Boolean Object Access (Execution) 4.8±0.16µs 4.9±0.20µs -2.04%
Boolean Object Access (Full) 272.9±18.52µs 288.7±9.80µs -5.47%
Clean js (Execution) 730.8±31.14µs 733.4±33.04µs -0.35%
Clean js (Full) 1055.5±32.22µs 1041.9±46.57µs +1.31%
Clean js (Parser) 39.1±1.62µs 41.4±1.18µs -5.56%
Create Realm 472.1±15.91ns 469.5±12.21ns +0.55%
Dynamic Object Property Access (Execution) 6.0±0.20µs 6.2±0.24µs -3.23%
Dynamic Object Property Access (Full) 282.8±14.35µs 272.5±15.08µs +3.78%
Expression (Parser) 7.2±0.20µs 7.1±0.25µs +1.41%
Fibonacci (Execution) 950.0±26.62µs 945.5±30.05µs +0.48%
Fibonacci (Full) 1251.2±39.35µs 1138.5±47.38µs +9.90%
For loop (Execution) 24.3±0.73µs 24.8±0.82µs -2.02%
For loop (Full) 301.9±13.85µs 274.0±9.98µs +10.18%
For loop (Parser) 19.1±0.75µs 19.2±0.72µs -0.52%
Goal Symbols (Parser) 12.8±0.38µs 13.0±0.72µs -1.54%
Hello World (Parser) 3.5±0.10µs 3.3±0.14µs +6.06%
Long file (Parser) 806.2±20.04ns 813.1±25.67ns -0.85%
Mini js (Execution) 649.8±15.38µs 611.4±33.41µs +6.28%
Mini js (Full) 950.0±24.21µs 912.0±38.57µs +4.17%
Mini js (Parser) 33.6±0.84µs 35.8±1.50µs -6.15%
Number Object Access (Execution) 3.8±0.11µs 3.9±0.17µs -2.56%
Number Object Access (Full) 272.7±8.61µs 279.2±9.13µs -2.33%
Object Creation (Execution) 5.3±0.32µs 5.3±0.21µs 0.00%
Object Creation (Full) 271.5±8.90µs 257.8±10.68µs +5.31%
RegExp (Execution) 10.0±0.34µs 9.9±0.46µs +1.01%
RegExp (Full) 282.6±6.22µs 272.3±13.07µs +3.78%
RegExp Literal (Execution) 11.0±0.34µs 11.3±0.57µs -2.65%
RegExp Literal (Full) 292.6±11.43µs 288.4±11.20µs +1.46%
RegExp Literal Creation (Execution) 10.3±0.37µs 9.7±0.38µs +6.19%
RegExp Literal Creation (Full) 280.7±8.60µs 269.6±11.28µs +4.12%
Static Object Property Access (Execution) 5.6±0.48µs 5.6±0.18µs 0.00%
Static Object Property Access (Full) 276.3±9.67µs 278.6±24.88µs -0.83%
String Object Access (Execution) 7.4±0.26µs 7.5±0.51µs -1.33%
String Object Access (Full) 292.6±10.35µs 262.4±10.03µs +11.51%
String comparison (Execution) 6.9±0.28µs 7.0±0.28µs -1.43%
String comparison (Full) 280.8±6.73µs 289.9±8.87µs -3.14%
String concatenation (Execution) 5.6±0.24µs 5.6±0.19µs 0.00%
String concatenation (Full) 272.1±7.73µs 280.4±12.14µs -2.96%
String copy (Execution) 4.4±0.13µs 4.4±0.11µs 0.00%
String copy (Full) 271.4±7.39µs 273.4±14.28µs -0.73%
Symbols (Execution) 3.9±0.13µs 3.8±0.13µs +2.63%
Symbols (Full) 261.2±8.83µs 244.2±10.22µs +6.96%

@github-actions
Copy link

Benchmark for b4f08a1

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 376.8±17.35ns 391.0±13.48ns -3.63%
Arithmetic operations (Full) 263.8±12.04µs 266.3±11.98µs -0.94%
Array access (Execution) 8.8±0.42µs 8.8±0.34µs 0.00%
Array access (Full) 293.5±11.81µs 296.6±10.22µs -1.05%
Array creation (Execution) 2.8±0.10ms 2.8±0.09ms 0.00%
Array creation (Full) 3.1±0.09ms 3.1±0.15ms 0.00%
Array pop (Execution) 987.6±65.67µs 1015.6±37.64µs -2.76%
Array pop (Full) 1532.3±127.25µs 1527.8±56.58µs +0.29%
Boolean Object Access (Execution) 5.0±0.17µs 4.9±0.27µs +2.04%
Boolean Object Access (Full) 281.6±6.78µs 281.0±7.11µs +0.21%
Clean js (Execution) 759.7±29.52µs 745.3±21.94µs +1.93%
Clean js (Full) 1101.2±29.20µs 1081.8±36.82µs +1.79%
Clean js (Parser) 40.4±2.00µs 38.9±1.96µs +3.86%
Create Realm 480.2±27.23ns 498.0±25.37ns -3.57%
Dynamic Object Property Access (Execution) 6.3±0.17µs 6.1±0.34µs +3.28%
Dynamic Object Property Access (Full) 295.9±8.07µs 286.8±11.53µs +3.17%
Expression (Parser) 7.5±0.42µs 7.4±0.16µs +1.35%
Fibonacci (Execution) 992.4±28.49µs 984.2±32.03µs +0.83%
Fibonacci (Full) 1323.7±47.36µs 1245.0±44.69µs +6.32%
For loop (Execution) 25.0±1.08µs 25.2±0.92µs -0.79%
For loop (Full) 312.0±12.47µs 310.9±10.13µs +0.35%
For loop (Parser) 19.7±0.60µs 19.7±0.81µs 0.00%
Goal Symbols (Parser) 12.8±0.45µs 13.1±0.54µs -2.29%
Hello World (Parser) 3.5±0.12µs 3.6±0.11µs -2.78%
Long file (Parser) 836.6±28.84ns 819.6±29.73ns +2.07%
Mini js (Execution) 679.6±23.99µs 677.2±34.42µs +0.35%
Mini js (Full) 959.4±41.71µs 958.8±28.56µs +0.06%
Mini js (Parser) 34.7±1.07µs 33.7±1.46µs +2.97%
Number Object Access (Execution) 4.1±0.31µs 3.9±0.16µs +5.13%
Number Object Access (Full) 283.0±6.98µs 279.1±10.36µs +1.40%
Object Creation (Execution) 5.2±0.24µs 5.5±0.25µs -5.45%
Object Creation (Full) 277.9±9.77µs 282.9±17.73µs -1.77%
RegExp (Execution) 9.9±0.42µs 9.8±0.40µs +1.02%
RegExp (Full) 294.1±12.51µs 289.0±11.44µs +1.76%
RegExp Literal (Execution) 11.4±0.52µs 11.1±0.52µs +2.70%
RegExp Literal (Full) 291.8±11.40µs 297.0±10.19µs -1.75%
RegExp Literal Creation (Execution) 10.2±0.46µs 10.0±0.54µs +2.00%
RegExp Literal Creation (Full) 289.5±8.62µs 288.1±8.87µs +0.49%
Static Object Property Access (Execution) 5.6±0.21µs 5.7±0.29µs -1.75%
Static Object Property Access (Full) 284.2±15.25µs 285.7±12.81µs -0.53%
String Object Access (Execution) 7.5±0.32µs 7.8±0.38µs -3.85%
String Object Access (Full) 286.4±9.13µs 283.6±8.59µs +0.99%
String comparison (Execution) 7.1±0.19µs 7.1±0.21µs 0.00%
String comparison (Full) 292.2±8.73µs 288.7±10.27µs +1.21%
String concatenation (Execution) 5.6±0.32µs 5.8±0.26µs -3.45%
String concatenation (Full) 280.3±8.11µs 275.5±11.65µs +1.74%
String copy (Execution) 4.6±0.20µs 4.4±0.19µs +4.55%
String copy (Full) 275.2±15.33µs 280.3±9.08µs -1.82%
Symbols (Execution) 4.0±0.28µs 4.0±0.15µs 0.00%
Symbols (Full) 272.6±11.59µs 271.9±9.76µs +0.26%

@Razican Razican merged commit 218b471 into master Oct 20, 2020
@Razican Razican deleted the no_panic_for_in branch October 20, 2020 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working parser Issues surrounding the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants