This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: It's v7-> mainline merge time!


Hi,

>| -2- Simulated move semantics, basically as-is in the branch. The
>| entire merging work can be split in the infrastructural bits (e.g.,
>| moveable.h, slt_construct.h, stl_uninitialized.h, testsuite),
>| algorithms, trivial containers, vector and deque, testcases  as we
>| go. I'm pretty sure the work is safe from the binary-compatibility
>| point of view (or can be made so with minor tweaks): in the most
>| complex case, vector and deque, in a nutshell, functions like, e.g.,
>| _M_insert_aux, _M_fill_insert, _M_range_insert, will use __move and
>| become faster when moveable types are detected.
>
>I'm deeply reserved about that experiment going to mainline.
>  
>
Humm, Chris did a lot of work and certainly it was meant to be included
at some point. If you think there are specific areas where we can
improve the code before the merge, then we can work on that. Otherwise,
on my part, spending a lot of time extracting patches, testing on many
targets, and so on, would be stupid.
 
Since I can anticipate that point -1- above is rather quick to do, maybe
you (an Howard, and everyone) should review again the code in detail at
this time and send over specific suggestions for improvement. I'm sure
Chris would be willing to do the additional work, a bit myself too, as
in the past.

Anyway, frankly - I can say that because Chris did 99.9% of the actual
work - I believe he paid a lot of attention to not push the simulation
too far. It's only simulated copy constructor and move for the
containers + some clean improvements to the internals of vector and
deque + very few, straightforward, algos. But of course these words are
redundant, I'm sure that if you compare side by side mainline and v7 you
will appreciate that, in general.

>| -3- As soon as Jason are Benjamin are done with the namespace
>| association vs debug-mode vs swap issues (see libstdc++/24660 and
>| older refs therein), we can finally enable a few move semantics tests
>| in debug mode too.
>
>I would think this has higher priority than -1-. 
>  
>
Well, my list was more matter of logic dependencies: nothing, besides
enabling very few simulated move semantics tests also for debug mode,
depends on -3-. By the way, we all agree that issue is important, but I
gather that Jason and Benjamin are quickly converging to a satisfactory
solution, no need for anyone else help.

>| -4- Finally, Option 3 in DR 431 for all the containers. This stuff is
>
>OK.
>  
>
Agreed.

Paolo.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]