Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.
This repository was archived by the owner on Nov 1, 2020. It is now read-only.

Namemangling revamp #2178

@jkotas

Description

@jkotas

The name mangling needs revamp, for both correctness and overall efficiency (do not allocate as much to construct the mangled names; and make the mangled names shorter). See #2175.

  • Do we need to include the namespaces in the typenames? What if we instead just use the type simple name; and disambiguate it if there is conflict - similar to what we do for methods.
  • Use shortcut for the system module or frequently used system types. E.g. The reference to System.String type today is something like: System_Private_CoreLib__System__String. What if it is just something like #String?
  • CppCodeGen and native codegen name mangling can be quite different
  • Store the mangled strings as UTF8
  • Robustness against collisions with built-in C++ identifiers or our internal identifiers

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions