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] - Removing internal deprecated functions #1854

Closed
wants to merge 1 commit into from

Conversation

HalidOdat
Copy link
Member

@HalidOdat HalidOdat commented Feb 21, 2022

This Pull Request is related to #577 .

It changes the following:

  • Remove JsValue::set_field
  • Remove JsValue::set_property
  • Remove almost all uses of JsValue::get_field
  • Use .get_v() instead of get_field according to spec in serialize_json_property
  • Remove Array::new_array()
  • Remove Array::add_to_array_object()

@HalidOdat HalidOdat added technical debt execution Issues or PRs related to code execution labels Feb 21, 2022
@HalidOdat HalidOdat added this to the v0.14.0 milestone Feb 21, 2022
@codecov
Copy link

codecov bot commented Feb 21, 2022

Codecov Report

Merging #1854 (aedff3f) into main (6093a66) will increase coverage by 8.06%.
The diff coverage is 75.00%.

❗ Current head aedff3f differs from pull request most recent head 9c28207. Consider uploading reports for the commit 9c28207 to get more accurate results

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1854      +/-   ##
==========================================
+ Coverage   47.48%   55.55%   +8.06%     
==========================================
  Files         201      199       -2     
  Lines       16407    17740    +1333     
==========================================
+ Hits         7791     9855    +2064     
+ Misses       8616     7885     -731     
Impacted Files Coverage Δ
boa/src/builtins/string/mod.rs 63.74% <0.00%> (ø)
boa/src/value/mod.rs 56.97% <ø> (ø)
boa/src/object/operations.rs 61.81% <66.66%> (ø)
boa/src/vm/mod.rs 78.00% <66.66%> (ø)
boa/src/builtins/error/mod.rs 88.88% <83.33%> (ø)
boa/src/builtins/array/mod.rs 77.43% <100.00%> (ø)
boa/src/builtins/json/mod.rs 84.42% <100.00%> (ø)
boa_cli/src/main.rs 5.26% <0.00%> (ø)
boa_wasm/src/lib.rs 0.00% <0.00%> (ø)
boa_engine/src/builtins/reflect/mod.rs
... and 387 more

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 6093a66...9c28207. Read the comment docs.

@HalidOdat HalidOdat force-pushed the removing-deprecated-functions branch from aedff3f to 6f4c82a Compare February 21, 2022 10:28
@github-actions
Copy link

Benchmark for 4ea2348

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 430.9±1.52ns 417.6±0.92ns -3.09%
Arithmetic operations (Execution) 1731.3±10.06ns 1784.4±9.69ns +3.07%
Arithmetic operations (Parser) 5.3±0.03µs 4.9±0.03µs -7.55%
Array access (Compiler) 1060.4±3.07ns 1036.0±5.81ns -2.30%
Array access (Execution) 9.2±0.05µs 11.6±0.12µs +26.09%
Array access (Parser) 11.7±0.06µs 10.5±0.03µs -10.26%
Array creation (Compiler) 1537.9±5.81ns 1585.3±15.24ns +3.08%
Array creation (Execution) 2.8±0.01ms 2.9±0.01ms +3.57%
Array creation (Parser) 13.2±0.06µs 11.8±0.07µs -10.61%
Array pop (Compiler) 2.9±0.03µs 3.1±0.01µs +6.90%
Array pop (Execution) 1198.4±3.13µs 1423.0±6.53µs +18.74%
Array pop (Parser) 139.4±0.49µs 119.7±0.49µs -14.13%
Boolean Object Access (Compiler) 923.0±3.60ns 932.7±3.18ns +1.05%
Boolean Object Access (Execution) 4.9±0.03µs 4.9±0.03µs 0.00%
Boolean Object Access (Parser) 16.2±0.02µs 12.4±0.03µs -23.46%
Clean js (Compiler) 2.8±0.02µs 2.9±0.01µs +3.57%
Clean js (Execution) 960.2±5.10µs 964.4±4.16µs +0.44%
Clean js (Parser) 28.5±0.09µs 25.2±0.15µs -11.58%
Create Realm 270.6±0.73ns 235.4±0.22ns -13.01%
Dynamic Object Property Access (Compiler) 1535.1±6.87ns 1348.5±5.06ns -12.16%
Dynamic Object Property Access (Execution) 6.1±0.03µs 7.2±0.03µs +18.03%
Dynamic Object Property Access (Parser) 10.6±0.03µs 9.2±0.03µs -13.21%
Fibonacci (Compiler) 2.2±0.01µs 1953.8±13.17ns -11.19%
Fibonacci (Execution) 2.7±0.00ms 2.4±0.01ms -11.11%
Fibonacci (Parser) 16.1±0.08µs 14.1±0.02µs -12.42%
For loop (Compiler) 1821.4±3.53ns 1616.8±5.04ns -11.23%
For loop (Execution) 36.4±0.23µs 37.7±0.14µs +3.57%
For loop (Parser) 13.9±0.08µs 12.2±0.04µs -12.23%
Mini js (Compiler) 2.7±0.02µs 2.8±0.01µs +3.70%
Mini js (Execution) 890.7±10.72µs 892.2±5.31µs +0.17%
Mini js (Parser) 24.6±0.12µs 22.2±0.06µs -9.76%
Number Object Access (Compiler) 859.7±2.17ns 874.4±6.25ns +1.71%
Number Object Access (Execution) 3.8±0.02µs 3.9±0.01µs +2.63%
Number Object Access (Parser) 11.3±0.05µs 9.7±0.06µs -14.16%
Object Creation (Compiler) 1335.3±2.94ns 1181.2±19.27ns -11.54%
Object Creation (Execution) 6.4±0.04µs 5.7±0.02µs -10.94%
Object Creation (Parser) 9.3±0.06µs 8.0±0.03µs -13.98%
RegExp (Compiler) 1352.2±8.59ns 1358.2±14.41ns +0.44%
RegExp (Execution) 11.3±0.08µs 11.3±0.05µs 0.00%
RegExp (Parser) 10.1±0.06µs 8.8±0.02µs -12.87%
RegExp Creation (Compiler) 1151.9±5.09ns 1169.9±6.91ns +1.56%
RegExp Creation (Execution) 8.6±0.05µs 8.5±0.03µs -1.16%
RegExp Creation (Parser) 9.5±0.02µs 7.3±0.02µs -23.16%
RegExp Literal (Compiler) 1356.3±6.94ns 1353.6±9.82ns -0.20%
RegExp Literal (Execution) 11.4±0.07µs 11.3±0.06µs -0.88%
RegExp Literal (Parser) 8.1±0.01µs 7.1±0.02µs -12.35%
RegExp Literal Creation (Compiler) 1168.9±3.79ns 1172.9±3.98ns +0.34%
RegExp Literal Creation (Execution) 8.5±0.06µs 9.7±0.05µs +14.12%
RegExp Literal Creation (Parser) 6.3±0.02µs 5.5±0.01µs -12.70%
Static Object Property Access (Compiler) 1362.1±8.63ns 1205.5±6.68ns -11.50%
Static Object Property Access (Execution) 5.8±0.01µs 6.7±0.03µs +15.52%
Static Object Property Access (Parser) 10.0±0.04µs 8.6±0.04µs -14.00%
String Object Access (Compiler) 1206.1±3.90ns 1222.4±5.15ns +1.35%
String Object Access (Execution) 6.5±0.03µs 6.7±0.04µs +3.08%
String Object Access (Parser) 15.8±0.02µs 12.0±0.05µs -24.05%
String comparison (Compiler) 1984.8±3.86ns 1755.7±11.85ns -11.54%
String comparison (Execution) 5.4±0.02µs 5.5±0.01µs +1.85%
String comparison (Parser) 10.9±0.05µs 9.5±0.05µs -12.84%
String concatenation (Compiler) 1360.0±13.20ns 1363.7±5.89ns +0.27%
String concatenation (Execution) 4.9±0.02µs 5.0±0.02µs +2.04%
String concatenation (Parser) 7.6±0.05µs 6.6±0.03µs -13.16%
String copy (Compiler) 1061.7±5.53ns 1093.2±6.77ns +2.97%
String copy (Execution) 4.4±0.02µs 4.5±0.02µs +2.27%
String copy (Parser) 5.6±0.02µs 4.9±0.03µs -12.50%
Symbols (Compiler) 741.3±3.61ns 731.9±5.47ns -1.27%
Symbols (Execution) 4.2±0.02µs 4.3±0.01µs +2.38%
Symbols (Parser) 4.3±0.02µs 3.8±0.04µs -11.63%

@HalidOdat HalidOdat force-pushed the removing-deprecated-functions branch 2 times, most recently from f0c7011 to 56ce516 Compare February 23, 2022 11:48
@github-actions
Copy link

github-actions bot commented Feb 23, 2022

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 88,342 88,342 0
Passed 41,386 41,392 +6
Ignored 21,413 21,413 0
Failed 25,543 25,537 -6
Panics 12 12 0
Conformance 46.85% 46.85% +0.01%
Fixed tests (6):
test/built-ins/JSON/stringify/value-bigint-tojson.js [strict mode] (previously Failed)
test/built-ins/JSON/stringify/value-bigint-tojson.js (previously Failed)
test/built-ins/JSON/stringify/value-bigint-tojson-receiver.js [strict mode] (previously Failed)
test/built-ins/JSON/stringify/value-bigint-tojson-receiver.js (previously Failed)
test/built-ins/JSON/stringify/value-bigint-order.js [strict mode] (previously Failed)
test/built-ins/JSON/stringify/value-bigint-order.js (previously Failed)

@HalidOdat HalidOdat force-pushed the removing-deprecated-functions branch from 56ce516 to 3ec5fe7 Compare February 23, 2022 11:50
@github-actions
Copy link

Benchmark for d8239cb

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 531.9±27.07ns 595.3±52.49ns +11.92%
Arithmetic operations (Execution) 2.0±0.14µs 2.2±0.15µs +10.00%
Arithmetic operations (Parser) 5.5±0.39µs 5.7±0.43µs +3.64%
Array access (Compiler) 1425.3±78.56ns 1417.2±69.37ns -0.57%
Array access (Execution) 11.1±0.73µs 10.5±0.66µs -5.41%
Array access (Parser) 12.0±0.71µs 12.1±1.00µs +0.83%
Array creation (Compiler) 1959.7±134.10ns 2.0±0.15µs +2.06%
Array creation (Execution) 3.2±0.21ms 3.4±0.21ms +6.25%
Array creation (Parser) 13.1±0.71µs 13.2±0.89µs +0.76%
Array pop (Compiler) 3.6±0.22µs 4.0±0.29µs +11.11%
Array pop (Execution) 1430.7±92.70µs 1516.2±119.71µs +5.98%
Array pop (Parser) 152.9±8.46µs 146.4±10.40µs -4.25%
Boolean Object Access (Compiler) 1166.4±73.95ns 1205.7±86.51ns +3.37%
Boolean Object Access (Execution) 6.3±0.40µs 6.2±0.41µs -1.59%
Boolean Object Access (Parser) 14.1±0.70µs 13.9±0.74µs -1.42%
Clean js (Compiler) 3.7±0.20µs 3.8±0.25µs +2.70%
Clean js (Execution) 1138.0±69.63µs 1157.0±80.76µs +1.67%
Clean js (Parser) 29.7±2.20µs 28.7±1.62µs -3.37%
Create Realm 286.6±20.21ns 276.6±17.31ns -3.49%
Dynamic Object Property Access (Compiler) 1840.1±105.72ns 1756.9±90.46ns -4.52%
Dynamic Object Property Access (Execution) 7.6±0.87µs 7.5±0.46µs -1.32%
Dynamic Object Property Access (Parser) 11.0±1.24µs 10.5±0.85µs -4.55%
Fibonacci (Compiler) 2.5±0.22µs 2.6±0.18µs +4.00%
Fibonacci (Execution) 2.1±0.14ms 2.1±0.10ms 0.00%
Fibonacci (Parser) 16.3±0.95µs 15.7±1.27µs -3.68%
For loop (Compiler) 2.1±0.11µs 2.1±0.12µs 0.00%
For loop (Execution) 46.2±3.23µs 45.7±3.06µs -1.08%
For loop (Parser) 14.1±0.98µs 14.4±1.19µs +2.13%
Mini js (Compiler) 3.7±0.31µs 3.6±0.15µs -2.70%
Mini js (Execution) 997.9±47.03µs 1090.4±73.62µs +9.27%
Mini js (Parser) 27.1±1.61µs 25.2±1.86µs -7.01%
Number Object Access (Compiler) 1131.9±87.50ns 1135.9±48.88ns +0.35%
Number Object Access (Execution) 4.7±0.31µs 4.8±0.30µs +2.13%
Number Object Access (Parser) 10.8±0.58µs 11.2±0.81µs +3.70%
Object Creation (Compiler) 1601.6±115.28ns 1558.5±106.59ns -2.69%
Object Creation (Execution) 6.6±0.35µs 6.8±0.46µs +3.03%
Object Creation (Parser) 9.3±0.53µs 8.9±0.50µs -4.30%
RegExp (Compiler) 1875.3±127.99ns 1921.5±174.27ns +2.46%
RegExp (Execution) 13.3±0.73µs 13.8±0.97µs +3.76%
RegExp (Parser) 10.3±0.90µs 9.8±0.51µs -4.85%
RegExp Creation (Compiler) 1544.8±84.24ns 1699.1±100.59ns +9.99%
RegExp Creation (Execution) 9.7±0.54µs 9.7±0.41µs 0.00%
RegExp Creation (Parser) 8.8±0.67µs 8.2±0.55µs -6.82%
RegExp Literal (Compiler) 1798.6±149.39ns 1793.6±90.76ns -0.28%
RegExp Literal (Execution) 13.5±0.70µs 13.2±0.73µs -2.22%
RegExp Literal (Parser) 7.9±0.53µs 8.3±0.52µs +5.06%
RegExp Literal Creation (Compiler) 1526.0±136.82ns 1600.7±97.86ns +4.90%
RegExp Literal Creation (Execution) 10.1±0.69µs 10.3±0.63µs +1.98%
RegExp Literal Creation (Parser) 6.4±0.52µs 6.0±0.36µs -6.25%
Static Object Property Access (Compiler) 1708.4±125.24ns 1540.5±84.57ns -9.83%
Static Object Property Access (Execution) 6.8±0.37µs 7.1±0.39µs +4.41%
Static Object Property Access (Parser) 10.3±0.64µs 9.6±0.52µs -6.80%
String Object Access (Compiler) 1556.0±102.56ns 1574.1±92.98ns +1.16%
String Object Access (Execution) 8.3±0.87µs 8.1±0.53µs -2.41%
String Object Access (Parser) 13.6±0.69µs 13.9±0.78µs +2.21%
String comparison (Compiler) 2.3±0.15µs 2.3±0.16µs 0.00%
String comparison (Execution) 6.3±0.37µs 6.3±0.33µs 0.00%
String comparison (Parser) 11.1±0.76µs 10.7±0.70µs -3.60%
String concatenation (Compiler) 1798.2±131.46ns 1850.6±111.42ns +2.91%
String concatenation (Execution) 5.9±0.59µs 5.7±0.30µs -3.39%
String concatenation (Parser) 7.6±0.46µs 7.3±0.35µs -3.95%
String copy (Compiler) 1402.5±77.93ns 1464.1±78.02ns +4.39%
String copy (Execution) 5.4±0.40µs 5.5±0.40µs +1.85%
String copy (Parser) 5.6±0.23µs 5.6±0.29µs 0.00%
Symbols (Compiler) 1053.3±60.62ns 972.3±46.80ns -7.69%
Symbols (Execution) 5.3±0.49µs 5.2±0.37µs -1.89%
Symbols (Parser) 4.4±0.28µs 4.2±0.24µs -4.55%

@github-actions
Copy link

Benchmark for cd3dd05

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 380.4±5.70ns 392.5±4.98ns +3.18%
Arithmetic operations (Execution) 1773.8±24.50ns 1755.6±23.39ns -1.03%
Arithmetic operations (Parser) 4.8±0.06µs 4.9±0.02µs +2.08%
Array access (Compiler) 1027.0±14.60ns 1034.0±13.69ns +0.68%
Array access (Execution) 8.7±0.10µs 8.4±0.09µs -3.45%
Array access (Parser) 10.4±0.14µs 10.1±0.13µs -2.88%
Array creation (Compiler) 1555.1±21.23ns 1488.2±21.25ns -4.30%
Array creation (Execution) 2.7±0.03ms 2.7±0.04ms 0.00%
Array creation (Parser) 11.6±0.14µs 11.3±0.15µs -2.59%
Array pop (Compiler) 2.9±0.03µs 3.2±0.04µs +10.34%
Array pop (Execution) 1150.8±11.69µs 1165.1±13.19µs +1.24%
Array pop (Parser) 120.4±1.24µs 117.7±1.39µs -2.24%
Boolean Object Access (Compiler) 913.0±11.93ns 918.4±10.34ns +0.59%
Boolean Object Access (Execution) 4.9±0.06µs 4.9±0.06µs 0.00%
Boolean Object Access (Parser) 12.2±0.12µs 12.2±0.14µs 0.00%
Clean js (Compiler) 2.8±0.05µs 2.8±0.04µs 0.00%
Clean js (Execution) 940.6±10.37µs 941.3±11.06µs +0.07%
Clean js (Parser) 24.9±0.30µs 25.0±0.03µs +0.40%
Create Realm 228.7±3.35ns 230.1±3.01ns +0.61%
Dynamic Object Property Access (Compiler) 1299.4±17.05ns 1305.8±14.94ns +0.49%
Dynamic Object Property Access (Execution) 5.9±0.07µs 5.8±0.07µs -1.69%
Dynamic Object Property Access (Parser) 9.2±0.12µs 9.0±0.10µs -2.17%
Fibonacci (Compiler) 1921.4±23.57ns 1910.4±20.62ns -0.57%
Fibonacci (Execution) 1518.2±14.67µs 1525.7±21.21µs +0.49%
Fibonacci (Parser) 13.9±0.19µs 13.7±0.16µs -1.44%
For loop (Compiler) 1571.8±17.19ns 1579.3±19.34ns +0.48%
For loop (Execution) 37.2±0.53µs 37.0±0.49µs -0.54%
For loop (Parser) 11.9±0.15µs 11.7±0.16µs -1.68%
Mini js (Compiler) 2.7±0.03µs 2.8±0.03µs +3.70%
Mini js (Execution) 869.7±10.09µs 868.0±9.43µs -0.20%
Mini js (Parser) 21.8±0.27µs 21.5±0.35µs -1.38%
Number Object Access (Compiler) 852.8±9.72ns 854.8±11.34ns +0.23%
Number Object Access (Execution) 3.9±0.04µs 3.9±0.04µs 0.00%
Number Object Access (Parser) 9.6±0.11µs 9.6±0.11µs 0.00%
Object Creation (Compiler) 1103.7±10.94ns 1145.0±16.01ns +3.74%
Object Creation (Execution) 6.1±0.03µs 5.2±0.07µs -14.75%
Object Creation (Parser) 8.0±0.11µs 7.8±0.13µs -2.50%
RegExp (Compiler) 1305.0±14.61ns 1311.0±13.27ns +0.46%
RegExp (Execution) 10.3±0.12µs 10.7±0.09µs +3.88%
RegExp (Parser) 8.7±0.10µs 8.6±0.07µs -1.15%
RegExp Creation (Compiler) 1129.1±14.82ns 1150.7±14.96ns +1.91%
RegExp Creation (Execution) 7.8±0.08µs 8.1±0.09µs +3.85%
RegExp Creation (Parser) 7.2±0.10µs 7.1±0.09µs -1.39%
RegExp Literal (Compiler) 1316.7±15.65ns 1337.2±16.94ns +1.56%
RegExp Literal (Execution) 10.4±0.13µs 10.6±0.18µs +1.92%
RegExp Literal (Parser) 7.1±0.05µs 6.8±0.10µs -4.23%
RegExp Literal Creation (Compiler) 1136.3±7.05ns 1137.4±15.76ns +0.10%
RegExp Literal Creation (Execution) 7.9±0.07µs 8.0±0.09µs +1.27%
RegExp Literal Creation (Parser) 5.5±0.07µs 5.4±0.05µs -1.82%
Static Object Property Access (Compiler) 1146.9±14.66ns 1145.9±16.09ns -0.09%
Static Object Property Access (Execution) 5.5±0.06µs 5.4±0.07µs -1.82%
Static Object Property Access (Parser) 8.5±0.13µs 8.4±0.10µs -1.18%
String Object Access (Compiler) 1177.3±14.36ns 1198.7±12.19ns +1.82%
String Object Access (Execution) 6.4±0.08µs 6.5±0.08µs +1.56%
String Object Access (Parser) 11.9±0.15µs 12.0±0.15µs +0.84%
String comparison (Compiler) 1745.9±19.67ns 1748.0±19.25ns +0.12%
String comparison (Execution) 5.1±0.07µs 5.1±0.05µs 0.00%
String comparison (Parser) 9.4±0.12µs 9.3±0.11µs -1.06%
String concatenation (Compiler) 1321.6±17.43ns 1342.5±16.51ns +1.58%
String concatenation (Execution) 4.6±0.06µs 4.5±0.05µs -2.17%
String concatenation (Parser) 6.5±0.09µs 6.4±0.08µs -1.54%
String copy (Compiler) 1075.5±13.91ns 1065.8±12.91ns -0.90%
String copy (Execution) 4.1±0.05µs 4.1±0.04µs 0.00%
String copy (Parser) 4.9±0.04µs 4.7±0.05µs -4.08%
Symbols (Compiler) 708.1±9.89ns 742.1±8.86ns +4.80%
Symbols (Execution) 3.9±0.05µs 3.9±0.04µs 0.00%
Symbols (Parser) 3.7±0.04µs 3.6±0.04µs -2.70%

@github-actions
Copy link

Benchmark for 213e27f

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 383.8±1.65ns 391.0±0.67ns +1.88%
Arithmetic operations (Execution) 1790.0±1.68ns 1795.3±3.84ns +0.30%
Arithmetic operations (Parser) 4.8±0.00µs 4.9±0.00µs +2.08%
Array access (Compiler) 1033.1±1.78ns 1027.8±1.62ns -0.51%
Array access (Execution) 8.9±0.03µs 8.6±0.03µs -3.37%
Array access (Parser) 10.3±0.02µs 10.4±0.01µs +0.97%
Array creation (Compiler) 1524.3±9.51ns 1505.5±3.81ns -1.23%
Array creation (Execution) 2.7±0.00ms 3.2±0.00ms +18.52%
Array creation (Parser) 11.5±0.02µs 11.5±0.03µs 0.00%
Array pop (Compiler) 2.9±0.01µs 3.2±0.01µs +10.34%
Array pop (Execution) 1175.4±2.69µs 1191.3±8.62µs +1.35%
Array pop (Parser) 119.3±0.08µs 121.1±0.19µs +1.51%
Boolean Object Access (Compiler) 915.1±1.93ns 942.7±35.68ns +3.02%
Boolean Object Access (Execution) 5.0±0.01µs 5.0±0.03µs 0.00%
Boolean Object Access (Parser) 12.3±0.11µs 12.6±0.02µs +2.44%
Clean js (Compiler) 2.8±0.02µs 2.9±0.01µs +3.57%
Clean js (Execution) 964.2±4.19µs 955.4±3.92µs -0.91%
Clean js (Parser) 24.8±0.04µs 25.2±0.03µs +1.61%
Create Realm 234.2±0.25ns 235.6±0.37ns +0.60%
Dynamic Object Property Access (Compiler) 1326.7±29.43ns 1509.6±4.07ns +13.79%
Dynamic Object Property Access (Execution) 5.9±0.01µs 5.9±0.02µs 0.00%
Dynamic Object Property Access (Parser) 9.2±0.01µs 9.2±0.01µs 0.00%
Fibonacci (Compiler) 1957.5±9.53ns 1937.3±9.45ns -1.03%
Fibonacci (Execution) 1581.4±6.49µs 1564.0±4.43µs -1.10%
Fibonacci (Parser) 13.9±0.01µs 14.0±0.02µs +0.72%
For loop (Compiler) 1598.3±1.45ns 1826.5±4.05ns +14.28%
For loop (Execution) 37.6±0.08µs 37.6±0.07µs 0.00%
For loop (Parser) 12.0±0.01µs 12.0±0.02µs 0.00%
Mini js (Compiler) 2.7±0.01µs 2.8±0.01µs +3.70%
Mini js (Execution) 887.1±3.06µs 1001.6±5.13µs +12.91%
Mini js (Parser) 21.9±0.04µs 22.0±0.02µs +0.46%
Number Object Access (Compiler) 851.9±1.53ns 873.3±2.25ns +2.51%
Number Object Access (Execution) 3.9±0.01µs 3.9±0.01µs 0.00%
Number Object Access (Parser) 9.7±0.02µs 10.0±0.01µs +3.09%
Object Creation (Compiler) 1119.6±7.42ns 1145.8±1.99ns +2.34%
Object Creation (Execution) 5.3±0.01µs 5.3±0.01µs 0.00%
Object Creation (Parser) 8.0±0.02µs 8.0±0.01µs 0.00%
RegExp (Compiler) 1319.8±2.15ns 1352.6±3.65ns +2.49%
RegExp (Execution) 10.6±0.04µs 11.0±0.04µs +3.77%
RegExp (Parser) 8.7±0.02µs 8.9±0.02µs +2.30%
RegExp Creation (Compiler) 1146.4±1.89ns 1171.9±3.27ns +2.22%
RegExp Creation (Execution) 7.9±0.03µs 8.4±0.03µs +6.33%
RegExp Creation (Parser) 7.3±0.02µs 7.4±0.07µs +1.37%
RegExp Literal (Compiler) 1347.1±3.26ns 1356.1±4.64ns +0.67%
RegExp Literal (Execution) 10.7±0.03µs 12.5±0.07µs +16.82%
RegExp Literal (Parser) 7.0±0.02µs 7.9±0.02µs +12.86%
RegExp Literal Creation (Compiler) 1153.7±2.51ns 1297.9±2.38ns +12.50%
RegExp Literal Creation (Execution) 7.9±0.01µs 8.3±0.03µs +5.06%
RegExp Literal Creation (Parser) 5.5±0.01µs 5.5±0.02µs 0.00%
Static Object Property Access (Compiler) 1139.9±10.93ns 1300.1±2.81ns +14.05%
Static Object Property Access (Execution) 5.6±0.01µs 5.5±0.01µs -1.79%
Static Object Property Access (Parser) 8.6±0.01µs 8.6±0.01µs 0.00%
String Object Access (Compiler) 1202.7±6.74ns 1213.1±3.48ns +0.86%
String Object Access (Execution) 6.7±0.03µs 6.6±0.03µs -1.49%
String Object Access (Parser) 12.1±0.02µs 12.4±0.01µs +2.48%
String comparison (Compiler) 1756.9±3.49ns 1793.3±17.84ns +2.07%
String comparison (Execution) 5.1±0.01µs 5.2±0.02µs +1.96%
String comparison (Parser) 9.4±0.02µs 9.5±0.01µs +1.06%
String concatenation (Compiler) 1362.2±4.70ns 1365.4±2.58ns +0.23%
String concatenation (Execution) 4.6±0.02µs 4.6±0.02µs 0.00%
String concatenation (Parser) 6.5±0.02µs 6.5±0.01µs 0.00%
String copy (Compiler) 1061.7±2.86ns 1070.7±1.52ns +0.85%
String copy (Execution) 4.2±0.01µs 4.2±0.01µs 0.00%
String copy (Parser) 4.8±0.02µs 5.5±0.01µs +14.58%
Symbols (Compiler) 715.5±3.75ns 734.9±1.48ns +2.71%
Symbols (Execution) 4.0±0.01µs 3.9±0.01µs -2.50%
Symbols (Parser) 3.7±0.01µs 3.8±0.01µs +2.70%

@HalidOdat HalidOdat marked this pull request as ready for review February 24, 2022 10:46
Copy link
Member

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Will this close #577?

@HalidOdat
Copy link
Member Author

HalidOdat commented Feb 24, 2022

Will this close #577?

Almost, There still some places where more work/refactoring needs to be done. But I wanted make separate PRs for those refactors :)

@raskad
Copy link
Member

raskad commented Feb 24, 2022

bors r+

bors bot pushed a commit that referenced this pull request Feb 24, 2022
This Pull Request is related to #577 .

It changes the following:
- Remove `JsValue::set_field`
- Remove `JsValue::set_property`
- Remove almost all uses of `JsValue::get_field`
- Use `.get_v()` instead of `get_field` according to spec in `serialize_json_property`
- Remove `Array::new_array()`
- Remove `Array::add_to_array_object()`
@bors
Copy link

bors bot commented Feb 24, 2022

Build failed:

- Remove `Array::new_array()`
- Remove `JsValue::set_field()`
- Remove `JsValue::set_property()`
- Remove some uses of JsValue::get_field
@HalidOdat HalidOdat force-pushed the removing-deprecated-functions branch from 3ec5fe7 to 9c28207 Compare February 26, 2022 19:40
@HalidOdat
Copy link
Member Author

bors r+

bors bot pushed a commit that referenced this pull request Feb 26, 2022
This Pull Request is related to #577 .

It changes the following:
- Remove `JsValue::set_field`
- Remove `JsValue::set_property`
- Remove almost all uses of `JsValue::get_field`
- Use `.get_v()` instead of `get_field` according to spec in `serialize_json_property`
- Remove `Array::new_array()`
- Remove `Array::add_to_array_object()`
@bors
Copy link

bors bot commented Feb 26, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Removing internal deprecated functions [Merged by Bors] - Removing internal deprecated functions Feb 26, 2022
@bors bors bot closed this Feb 26, 2022
@bors bors bot deleted the removing-deprecated-functions branch February 26, 2022 20:07
@github-actions
Copy link

Benchmark for b6f9fc8

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 560.4±6.14ns 587.4±6.01ns +4.82%
Arithmetic operations (Execution) 2.3±0.01µs 2.2±0.02µs -4.35%
Arithmetic operations (Parser) 5.6±0.07µs 5.7±0.04µs +1.79%
Array access (Compiler) 1407.5±12.99ns 1422.4±15.48ns +1.06%
Array access (Execution) 12.1±0.09µs 11.3±0.10µs -6.61%
Array access (Parser) 12.6±0.12µs 12.6±0.19µs 0.00%
Array creation (Compiler) 2.1±0.02µs 2.1±0.02µs 0.00%
Array creation (Execution) 3.6±0.03ms 3.7±0.03ms +2.78%
Array creation (Parser) 14.3±0.14µs 14.3±0.14µs 0.00%
Array pop (Compiler) 4.5±0.04µs 4.6±0.04µs +2.22%
Array pop (Execution) 1643.6±15.04µs 1625.9±20.93µs -1.08%
Array pop (Parser) 147.5±0.70µs 146.4±1.52µs -0.75%
Boolean Object Access (Compiler) 1101.2±14.29ns 1125.7±13.71ns +2.22%
Boolean Object Access (Execution) 6.7±0.09µs 6.6±0.09µs -1.49%
Boolean Object Access (Parser) 15.7±0.13µs 15.5±0.21µs -1.27%
Clean js (Compiler) 3.8±0.03µs 3.9±0.05µs +2.63%
Clean js (Execution) 1279.8±21.32µs 1260.3±18.08µs -1.52%
Clean js (Parser) 31.0±0.23µs 30.7±0.34µs -0.97%
Create Realm 309.5±4.84ns 344.2±2.99ns +11.21%
Dynamic Object Property Access (Compiler) 1797.6±9.52ns 1837.7±16.73ns +2.23%
Dynamic Object Property Access (Execution) 7.8±0.08µs 7.8±0.04µs 0.00%
Dynamic Object Property Access (Parser) 11.2±0.14µs 11.1±0.16µs -0.89%
Fibonacci (Compiler) 2.6±0.01µs 2.6±0.03µs 0.00%
Fibonacci (Execution) 2.1±0.01ms 2.0±0.02ms -4.76%
Fibonacci (Parser) 17.3±0.18µs 17.4±0.10µs +0.58%
For loop (Compiler) 2.2±0.01µs 2.2±0.04µs 0.00%
For loop (Execution) 50.2±0.52µs 48.7±0.48µs -2.99%
For loop (Parser) 14.8±0.14µs 14.7±0.18µs -0.68%
Mini js (Compiler) 3.7±0.04µs 3.8±0.04µs +2.70%
Mini js (Execution) 1175.1±11.78µs 1166.7±18.26µs -0.71%
Mini js (Parser) 26.8±0.24µs 26.8±0.19µs 0.00%
Number Object Access (Compiler) 1052.4±11.26ns 1075.5±10.59ns +2.19%
Number Object Access (Execution) 5.2±0.07µs 5.2±0.07µs 0.00%
Number Object Access (Parser) 11.9±0.13µs 11.8±0.12µs -0.84%
Object Creation (Compiler) 1562.1±3.22ns 1576.4±17.47ns +0.92%
Object Creation (Execution) 7.0±0.09µs 7.0±0.08µs 0.00%
Object Creation (Parser) 9.8±0.13µs 9.9±0.10µs +1.02%
RegExp (Compiler) 1828.9±20.87ns 1871.4±25.84ns +2.32%
RegExp (Execution) 14.5±0.13µs 13.7±0.15µs -5.52%
RegExp (Parser) 10.9±0.07µs 10.7±0.10µs -1.83%
RegExp Creation (Compiler) 1564.4±10.59ns 1588.5±10.45ns +1.54%
RegExp Creation (Execution) 11.0±0.14µs 10.4±0.09µs -5.45%
RegExp Creation (Parser) 9.0±0.13µs 9.0±0.09µs 0.00%
RegExp Literal (Compiler) 1837.6±12.85ns 1839.6±22.78ns +0.11%
RegExp Literal (Execution) 14.4±0.16µs 13.7±0.15µs -4.86%
RegExp Literal (Parser) 8.5±0.10µs 8.5±0.10µs 0.00%
RegExp Literal Creation (Compiler) 1590.1±7.31ns 1593.3±21.84ns +0.20%
RegExp Literal Creation (Execution) 11.0±0.24µs 10.4±0.08µs -5.45%
RegExp Literal Creation (Parser) 6.8±0.09µs 6.8±0.08µs 0.00%
Static Object Property Access (Compiler) 1621.7±4.87ns 1625.5±17.89ns +0.23%
Static Object Property Access (Execution) 7.3±0.08µs 7.3±0.05µs 0.00%
Static Object Property Access (Parser) 10.5±0.13µs 10.5±0.12µs 0.00%
String Object Access (Compiler) 1530.0±16.04ns 1555.6±14.61ns +1.67%
String Object Access (Execution) 8.7±0.07µs 8.8±0.11µs +1.15%
String Object Access (Parser) 15.4±0.10µs 15.2±0.17µs -1.30%
String comparison (Compiler) 2.4±0.02µs 2.4±0.02µs 0.00%
String comparison (Execution) 6.8±0.06µs 6.7±0.08µs -1.47%
String comparison (Parser) 11.9±0.17µs 11.8±0.11µs -0.84%
String concatenation (Compiler) 1881.4±21.84ns 1892.8±24.77ns +0.61%
String concatenation (Execution) 6.1±0.08µs 6.1±0.09µs 0.00%
String concatenation (Parser) 8.1±0.09µs 7.9±0.12µs -2.47%
String copy (Compiler) 1453.4±13.42ns 1454.7±15.04ns +0.09%
String copy (Execution) 5.5±0.06µs 5.4±0.09µs -1.82%
String copy (Parser) 5.9±0.07µs 5.9±0.07µs 0.00%
Symbols (Compiler) 1004.8±7.17ns 1021.0±10.19ns +1.61%
Symbols (Execution) 5.2±0.05µs 5.2±0.06µs 0.00%
Symbols (Parser) 4.5±0.06µs 4.5±0.05µs 0.00%

@RageKnify RageKnify added the Internal Category for changelog label Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
execution Issues or PRs related to code execution Internal Category for changelog technical debt
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants