Skip to content

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

Merged
bjorng merged 4 commits into
erlang:masterfrom
bjorng:bjorn/compiler/use-native-record-types
Aug 20, 2026
Merged

compiler: Migrate type representation records to native records#11267
bjorng merged 4 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   2h 4m 4s ⏱️
 4 544 tests  4 442 ✅ 102 💤 0 ❌
10 506 runs  10 379 ✅ 127 💤 0 ❌

Results for commit f2ffa8d.

♻️ 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 4 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 2 times, most recently from 1a9c69a to f2ffa8d Compare August 19, 2026 07:01
@bjorng
bjorng merged commit df7c8a7 into erlang:master Aug 20, 2026
34 of 37 checks passed
@bjorng
bjorng deleted the bjorn/compiler/use-native-record-types branch August 20, 2026 03:26
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.

2 participants