Skip to content

compiler: Migrate type representation records to native records - #11267

Open
bjorng wants to merge 5 commits into
erlang:masterfrom
bjorng:bjorn/compiler/use-native-record-types
Open

compiler: Migrate type representation records to native records#11267
bjorng wants to merge 5 commits into
erlang:masterfrom
bjorng:bjorn/compiler/use-native-record-types

Conversation

@bjorng

@bjorng bjorng commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@bjorng
bjorng requested a review from lucioleKi June 18, 2026 14:40
@bjorng bjorng self-assigned this Jun 18, 2026
@bjorng bjorng added team:VM Assigned to OTP team VM testing currently being tested, tag is used by OTP internal CI labels Jun 18, 2026
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

CT Test Results

     5 files     545 suites   1h 59m 40s ⏱️
 4 539 tests  4 436 ✅ 103 💤 0 ❌
10 483 runs  10 356 ✅ 127 💤 0 ❌

Results for commit 1a9c69a.

♻️ This comment has been updated with latest results.

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

@bjorng bjorng removed the testing currently being tested, tag is used by OTP internal CI label Jun 18, 2026
@bjorng bjorng added testing currently being tested, tag is used by OTP internal CI and removed testing currently being tested, tag is used by OTP internal CI labels Aug 12, 2026
@bjorng
bjorng force-pushed the bjorn/compiler/use-native-record-types branch from 63f29f5 to 08ea36a Compare August 13, 2026 09:37
@bjorng bjorng added the testing currently being tested, tag is used by OTP internal CI label Aug 13, 2026
@bjorng
bjorng force-pushed the bjorn/compiler/use-native-record-types branch from 08ea36a to d0fbcaf Compare August 13, 2026 11:23
@bjorng bjorng removed the testing currently being tested, tag is used by OTP internal CI label Aug 13, 2026
@bjorng
bjorng force-pushed the bjorn/compiler/use-native-record-types branch from d0fbcaf to a49a132 Compare August 13, 2026 12:44
@bjorng bjorng added the testing currently being tested, tag is used by OTP internal CI label Aug 13, 2026
bjorng and others added 5 commits August 14, 2026 07:06
Co-authored-by: Isabell Huang <isabell@erlang.org>
Attempting to parse a Core Erlang file from a freshly started shell
would fail:

    1> compile:file(t, from_core).
    t.core: internal error in pass parse_core:
    exception error: {badrecord,{v3_core,c_var}}
      in function  core_parse:yeccpars2_15/7 (core_parse.yrl:444)
      in call from core_parse:yeccpars0/5 (...)
      in call from compile:parse_core/2 (compile.erl:2126)
      in call from compile:fold_comp/4 (compile.erl:1352)
      in call from compile:internal_comp/5 (compile.erl:1327)
      in call from compile:'-internal_fun/2-anonymous-0-'/2 (compile.erl:1153)
      in call from compile:'-do_compile/2-anonymous-0-'/1 (compile.erl:1143)
    error

The reason is that creating native records belonging to the `v3_core`
module is only possible when `v3_core` has been loaded. Therefore,
we'll need ensure `v3_core` is loaded before starting the parsing.
As a workaround for some issues with native records, the major SSA
optimizations were disabled for `beam_ssa_type`. This workaround is
no longer needed.
@bjorng
bjorng force-pushed the bjorn/compiler/use-native-record-types branch from a49a132 to 1a9c69a Compare August 14, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

team:VM Assigned to OTP team VM testing currently being tested, tag is used by OTP internal CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant