forked from dart-lang/sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[arm][arm64] enable to optimize write-barrier code for size
This CL moves write-barrier checking code into stub for binary size reduction. ``` before ;; StoreInstanceField(v11 . start = v15) 0x101d0040c b801b020 strw r0, [r1, dart-lang#27] 0x101d00410 36000100 tbzw r0, #0, 0x101d00430 0x101d00414 385ff030 ldrb ip0, [r1, #-1] 0x101d00418 385ff011 ldrb ip1, [r0, #-1] 0x101d0041c 8a500a30 and ip0, ip1, ip0 lsr dart-lang#2 0x101d00420 ea5c821f ands zr, ip0, r28 lsr dart-lang#32 0x101d00424 54000060 beq 0x101d00430 0x101d00428 f942cb5e ldr lr, [r26, dart-lang#1424] 0x101d0042c d63f03c0 blr lr ;; ParallelMove r0 <- r4 0x101d00430 aa0403e0 mov r0, r4 ;; StoreInstanceField(v11 . end = v17) 0x101d00434 b801f020 strw r0, [r1, dart-lang#31] 0x101d00438 36000100 tbzw r0, #0, 0x101d00458 0x101d0043c 385ff030 ldrb ip0, [r1, #-1] 0x101d00440 385ff011 ldrb ip1, [r0, #-1] 0x101d00444 8a500a30 and ip0, ip1, ip0 lsr dart-lang#2 0x101d00448 ea5c821f ands zr, ip0, r28 lsr dart-lang#32 0x101d0044c 54000060 beq 0x101d00458 0x101d00450 f942cb5e ldr lr, [r26, dart-lang#1424] 0x101d00454 d63f03c0 blr lr ``` ``` after ;; StoreInstanceField(v11 . start = v15) 0x10a6003cc b801b020 strw r0, [r1, dart-lang#27] 0x10a6003d0 f942cb5e ldr lr, [r26, dart-lang#1424] 0x10a6003d4 d63f03c0 blr lr ;; ParallelMove r0 <- r4 0x10a6003d8 aa0403e0 mov r0, r4 ;; StoreInstanceField(v11 . end = v17) 0x10a6003dc b801f020 strw r0, [r1, dart-lang#31] 0x10a6003e0 f942cb5e ldr lr, [r26, dart-lang#1424] 0x10a6003e4 d63f03c0 blr lr ```
- Loading branch information
Showing
8 changed files
with
134 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters