Commit 06a8802
[vm, ffi] Don't return to [stub] FfiCallbackTrampoline after DLRT_ExitTemporaryIsolate.
By time we return from DLRT_ExitTemporaryIsolate, VM shutdown may have completed, including deleting the VM isolate heap containing the stub. Instead tail-call to DLRT_ExitTemporaryIsolate, so it may return directly to the foreign caller.
TEST=ffi/async_void_function_callbacks_test
Bug: #53248
Change-Id: I674ed672ea4a105ad6f72a86f6aedae7db1040dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/417963
Reviewed-by: Daco Harkes <[email protected]>
Commit-Queue: Ryan Macnak <[email protected]>1 parent 2fa4f72 commit 06a8802
File tree
5 files changed
+42
-35
lines changed- runtime/vm/compiler
5 files changed
+42
-35
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | 445 | | |
449 | | - | |
| 446 | + | |
450 | 447 | | |
451 | | - | |
| 448 | + | |
452 | 449 | | |
453 | | - | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
454 | 455 | | |
455 | 456 | | |
456 | 457 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | 623 | | |
628 | 624 | | |
629 | 625 | | |
| |||
640 | 636 | | |
641 | 637 | | |
642 | 638 | | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
647 | 642 | | |
648 | | - | |
649 | | - | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
650 | 648 | | |
651 | 649 | | |
652 | 650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
353 | | - | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
354 | 358 | | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
355 | 362 | | |
356 | 363 | | |
357 | | - | |
358 | | - | |
359 | | - | |
| 364 | + | |
| 365 | + | |
360 | 366 | | |
361 | 367 | | |
362 | 368 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
477 | | - | |
478 | | - | |
479 | | - | |
480 | | - | |
481 | | - | |
482 | 477 | | |
483 | 478 | | |
484 | 479 | | |
485 | 480 | | |
486 | 481 | | |
| 482 | + | |
487 | 483 | | |
488 | 484 | | |
489 | 485 | | |
| |||
496 | 492 | | |
497 | 493 | | |
498 | 494 | | |
| 495 | + | |
499 | 496 | | |
500 | 497 | | |
501 | 498 | | |
502 | 499 | | |
503 | 500 | | |
504 | 501 | | |
505 | | - | |
506 | | - | |
| 502 | + | |
507 | 503 | | |
508 | | - | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
509 | 509 | | |
510 | 510 | | |
511 | 511 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
601 | 603 | | |
602 | 604 | | |
603 | 605 | | |
| |||
0 commit comments