Skip to content

Commit

Permalink
[JSC] Add aligned label annotation to offlineasm
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=270699

Reviewed by Yusuke Suzuki and Justin Michaud.

To express some programs like the InPlaceInterpreter we need to align
instructions to specific boundaries (such as 256).

We currently to do this via `emit ".balign 256, 0xcc"' (for instance)
but this is not reliable on armv7 as its globaladdr implementation can
insert code unpredictably (from the point of view of the offlineasm
user), hence breaking the alignment.

This adds an aligned label annotation which implements this
functionality in offlineasm.

* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:
* Source/JavaScriptCore/offlineasm/asm.rb:
* Source/JavaScriptCore/offlineasm/ast.rb:
* Source/JavaScriptCore/offlineasm/backends.rb:
* Source/JavaScriptCore/offlineasm/parser.rb:
* Source/JavaScriptCore/offlineasm/transform.rb:

Canonical link: https://commits.webkit.org/276085@main
  • Loading branch information
Max Rottenkolber authored and aoikonomopoulos committed Mar 14, 2024
1 parent 07b2332 commit 71f803e
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 175 deletions.
Loading

0 comments on commit 71f803e

Please sign in to comment.