sway icon indicating copy to clipboard operation
sway copied to clipboard

Replace `__jmpb_ssp` with `__jmp_mem`

Open vaivaswatha opened this issue 11 months ago • 1 comments

The new intrinsic jumps to an absolute address that is fetched from MEM[$hp]. This is more versatile than the __jmpb_ssp that was previously provided. An immediate advantage being that we can have a working version of ldc even in debug builds.

The test has been modified too, to demonstrate an LDC use that works. A working version is at https://github.com/FuelLabs/ldc-testing/blob/309c79a8f73e26992123fb3ee9777b89dfda9ab1/test-contract/src/main.sw

vaivaswatha avatar Feb 27 '24 09:02 vaivaswatha

Benchmark for 45f8b03

Click to view benchmark
Test Base PR %
code_action 5.1±0.02ms 5.1±0.07ms 0.00%
code_lens 290.2±3.39ns 293.3±9.29ns +1.07%
compile 3.0±0.03s 3.0±0.03s 0.00%
completion 4.7±0.11ms 4.7±0.14ms 0.00%
did_change_with_caching 2.9±0.03s 2.9±0.05s 0.00%
document_symbol 971.8±28.45µs 1035.6±24.38µs +6.57%
format 73.7±1.14ms 75.2±0.90ms +2.04%
goto_definition 368.2±4.18µs 364.5±7.81µs -1.00%
highlight 8.8±0.17ms 8.8±0.15ms 0.00%
hover 604.5±5.99µs 529.1±7.75µs -12.47%
idents_at_position 171.7±0.24µs 122.3±0.29µs -28.77%
inlay_hints 650.1±9.80µs 651.4±16.25µs +0.20%
on_enter 483.3±12.68ns 486.1±18.92ns +0.58%
parent_decl_at_position 3.6±0.06ms 3.6±0.04ms 0.00%
prepare_rename 362.1±4.23µs 355.6±8.65µs -1.80%
rename 9.2±0.22ms 9.2±0.18ms 0.00%
semantic_tokens 1029.5±22.52µs 1038.9±20.57µs +0.91%
token_at_position 421.6±3.29µs 354.8±5.70µs -15.84%
tokens_at_position 3.6±0.05ms 3.6±0.04ms 0.00%
tokens_for_file 511.9±1.97µs 405.9±3.63µs -20.71%
traverse 38.1±0.97ms 38.9±1.15ms +2.10%

github-actions[bot] avatar Feb 27 '24 09:02 github-actions[bot]

Benchmark for cfbf986

Click to view benchmark
Test Base PR %
code_action 5.1±0.14ms 5.5±0.08ms +7.84%
code_lens 296.0±7.55ns 312.1±18.55ns +5.44%
compile 3.0±0.04s 2.9±0.03s -3.33%
completion 4.7±0.08ms 4.7±0.06ms 0.00%
did_change_with_caching 2.9±0.03s 2.8±0.02s -3.45%
document_symbol 956.2±40.41µs 962.3±29.70µs +0.64%
format 73.3±0.84ms 74.4±1.32ms +1.50%
goto_definition 364.6±3.46µs 412.3±5.87µs +13.08%
highlight 8.8±0.14ms 8.8±0.16ms 0.00%
hover 529.7±4.16µs 578.8±2.15µs +9.27%
idents_at_position 123.7±0.36µs 122.0±0.34µs -1.37%
inlay_hints 646.5±31.65µs 684.6±14.10µs +5.89%
on_enter 481.7±13.42ns 499.7±17.80ns +3.74%
parent_decl_at_position 3.6±0.03ms 3.6±0.05ms 0.00%
prepare_rename 354.2±6.04µs 377.5±4.57µs +6.58%
rename 9.1±0.03ms 9.1±0.20ms 0.00%
semantic_tokens 1037.2±22.58µs 1039.7±11.18µs +0.24%
token_at_position 358.8±3.35µs 403.7±4.71µs +12.51%
tokens_at_position 3.6±0.03ms 3.6±0.04ms 0.00%
tokens_for_file 407.8±2.27µs 415.1±1.69µs +1.79%
traverse 37.8±1.15ms 38.4±0.93ms +1.59%

github-actions[bot] avatar Mar 02 '24 23:03 github-actions[bot]

Benchmark for 5896535

Click to view benchmark
Test Base PR %
code_action 5.2±0.10ms 5.1±0.13ms -1.92%
code_lens 299.5±8.36ns 306.7±13.91ns +2.40%
compile 4.3±0.10s 4.3±0.17s 0.00%
completion 5.2±0.26ms 4.7±0.01ms -9.62%
did_change_with_caching 3.6±0.10s 3.8±0.08s +5.56%
document_symbol 1024.6±46.50µs 1024.1±44.42µs -0.05%
format 73.5±1.64ms 73.2±1.14ms -0.41%
goto_definition 360.9±5.57µs 364.9±5.77µs +1.11%
highlight 8.9±0.24ms 8.7±0.15ms -2.25%
hover 539.6±7.25µs 550.4±6.02µs +2.00%
idents_at_position 121.7±0.39µs 121.5±0.78µs -0.16%
inlay_hints 638.4±32.38µs 650.2±10.92µs +1.85%
on_enter 480.9±12.02ns 492.8±40.30ns +2.47%
parent_decl_at_position 3.6±0.06ms 3.6±0.04ms 0.00%
prepare_rename 353.3±3.97µs 365.7±7.59µs +3.51%
rename 9.3±0.35ms 9.1±0.15ms -2.15%
semantic_tokens 1067.1±22.96µs 1048.1±22.97µs -1.78%
token_at_position 358.5±2.91µs 355.4±2.72µs -0.86%
tokens_at_position 3.6±0.03ms 3.6±0.06ms 0.00%
tokens_for_file 412.8±2.95µs 408.0±6.69µs -1.16%
traverse 38.4±1.22ms 38.9±1.13ms +1.30%

github-actions[bot] avatar Mar 03 '24 06:03 github-actions[bot]