Skip to content

Conversation

Tetchki
Copy link

@Tetchki Tetchki commented Mar 6, 2023

Rebase of #15684 to the latest main. This is a work in progress for a Bachelor Semester Project. For more context see scalacenter/student-projects#8

@ckipp01 ckipp01 mentioned this pull request May 12, 2023
@ckipp01
Copy link
Member

ckipp01 commented May 12, 2023

Just tying these all together. Refs #9715.

Kordyjan and others added 24 commits July 17, 2023 16:03
also removes code that was relocationg inlined calls but now is unreachable
Fixes SMAP generation breaking bytecode idempotency assertions
Such warnings are produced when compiling the bootstrapped compiler.
We follow the Kotlin solution to allow inlined code to point to virtual numbers. We rely on the tooling for proper navigation. See also: https://youtrack.jetbrains.com/issue/KT-8628 https://bugs.openjdk.org/browse/JDK-4972961
When emitting the bytecode, line numbers are emitted for trees. These line numbers are used in call stack frames. Trees inlined from other files get virtual numbers. It appears that, when inlining `call(x)`, the line number for `call` is emitted before that for `x`. So, if `x` is coming from the current file, its line number will be real and will override that of `call`.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055. This work is based on scala#18229.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055. This work is based on scala#18229.
Tetchki added a commit to Tetchki/dotty that referenced this pull request Jul 17, 2023
Refactoring of inlined nodes to simplify the work on scala#17055. This work is based on scala#18229.
nicolasstucki added a commit that referenced this pull request Jul 27, 2023
Check if the copied inlined node's expansion exists, and if not set it to the original node's expansion. This commit was exctracted from #17055. This simplifies the next step that refactors inlined nodes to keep them until the backend phase.
@SethTisue
Copy link
Member

curious whether this is still moving forward, here or elsewhere...?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

6 participants