Skip to content

C++ #470

@egavrin

Description

@egavrin

Hi folks,
We'd like to use the following C++ features in our code base:

  • class
    • single inheritance
      • reduce source code size
    • copy / move constructors
      • improve perf.
      • much simplifies GC related logic
    • virtual functions (very limited, advisable usage)
      • reduce cross-module dependencies
  • constexpr
    • improve perf, reduce code size
  • static_assert
    • quality
  • static_cast (already used), reinterpret_cast
    • quality
  • try/catch (only for ECMA exception handling, instead of completion_value)
    • performance, simplifies code
  • enum classes (desirable: replace all enums with enum classes)
    • quality (type safety)
  • assignment operator implementation (very limited usage)
    • simplifies code
    • may be, other operators, for example, to replace ecma_number_add with simple '+')
  • explicitly instantiated templates (very limited, advisable usage, controlled with -fno-implicit-templates)
    • reduce source code size

What do you think about this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions