Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agenda for July 18, 2018 Compiler Architecture Meeting #2765

Closed
0xdaryl opened this issue Jul 18, 2018 · 3 comments
Closed

Agenda for July 18, 2018 Compiler Architecture Meeting #2765

0xdaryl opened this issue Jul 18, 2018 · 3 comments

Comments

@0xdaryl
Copy link
Contributor

0xdaryl commented Jul 18, 2018

Agenda

  1. Discuss removing usage of C++ STL from the compiler [ @mstoodle ]

Meeting Replay

Details

Wednesday, July 18, 2018 @ 13:00 EDT (GMT -4), 60 minutes maximum

Join Webex

Meeting number (access code): 927 085 394
Meeting password: omrrocks!

Global call-in numbers (for audio only)

This meeting will be recorded and posted to the Eclipse OMR YouTube channel.

@dibyendumajumdar
Copy link
Contributor

Hi @mstoodle,

I would have liked to join in this discussion but couldn't due to other engagements. Just wanted to say that it seems common for custom containers to be used in compiler projects. I think LLVM has them. Also Webkit's JavaScript JIT uses custom implementations.

Regarding sources of STL like implementations:

Although I am not sure I would recommend replacing the existing implementations, as you probably will need to pull in a quite a lot of the stuff from any external library (and I would hate the code base to grow in size, from a selfish point of view).

Also no harm in using STL internally - but I think not exposing allocators to users is a VERY good idea!

@dsouzai
Copy link
Member

dsouzai commented Jul 29, 2018

@nwoeanhinnogaehr came up with a way of not requiring one to specify the allocators when initializing STL containers, for example:

template<typename T>
using PersistentVectorAllocator = TR::typed_allocator<T, TR::PersistentAllocator&>;
template<typename T>
using PersistentVector = std::vector<T, PersistentVectorAllocator<T>>;

@Leonardo2718
Copy link
Contributor

I think this solution has been attempted already and, very unfortunately, templated using declarations (a C++11 feature) are not supported by all our supported build compilers .

@youngar youngar closed this as completed Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants