* [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
@ 2009-09-10 9:54 Johannes Singler
2009-09-10 18:19 ` Benjamin Kosnik
0 siblings, 1 reply; 9+ messages in thread
From: Johannes Singler @ 2009-09-10 9:54 UTC (permalink / raw)
To: libstdc++, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 16079 bytes --]
The attached patch (compressed due to size) uglifies the internals of
the libstdc++ parallel mode.
Since the uglification changes the line length, the line breaks have to
be updated. I will do this for the (to be proposed) final patch when
the uglification itself is approved in principle (its style).
Tested x86_64-unknown-linux-gnu: No regressions
2009-09-10 Johannes Singler <singler@ira.uka.de>
* include/parallel/*: Uglify internal identifiers.
Shall I specify all files explicitly in the changelog entry?
The following lines give an impression on what was changed (add to
changelog?):
#!/bin/bash
MASK="*"
svn revert $MASK
replace-all "begin(begin)" "__begin(__begin)" "$MASK"
replace-all "end(end)" "__end(__end)" "$MASK"
replace-all "RandomAccessIterator" _RAIter "$MASK"
replace-all "InputIterator" _IIter "$MASK"
replace-all "IteratorTag" _IteratorTag "$MASK"
replace-all "\bComparator\b" _Compare "$MASK"
replace-all "\bbegin\b\([^(]\)" "__begin\1" "$MASK"
replace-all "\bend\b\([^(]\)" "__end\1" "$MASK"
replace-all "__end namespace" "end namespace" "$MASK"
replace-all "\b\([a-z0-9_]\+_switch\)\b" "__\1" "$MASK"
replace-all "\b\([a-z0-9_]\+_selector\)\b" "__\1" "$MASK"
replace-all "\([^:]\)value_type\b" "\1_ValueType" "$MASK"
replace-all "typedef void _ValueType" "typedef void value_type" "$MASK"
replace-all "\bvaluei_type\b" "_IValueType" "$MASK"
replace-all "\bvaluef_type\b" "_FValueType" "$MASK"
replace-all "\bpair_type\b" "_SpotType" "$MASK"
replace-all "\bequal_from_less\b" "_EqualFromLess" "$MASK"
replace-all "\bequal_type\b" "_EqualFromLessCompare" "$MASK"
replace-all "\bvalue1_type\b" "_ValueType1" "$MASK"
replace-all "\bvalue2_type\b" "_ValueType2" "$MASK"
replace-all "\btraits1_type\b" "_TraitsType1" "$MASK"
replace-all "\btraits2_type\b" "_TraitsType2" "$MASK"
replace-all "\btraitso_type\b" "_OTraitsType" "$MASK"
replace-all "\biterator1_category\b" "_IteratorCategory1" "$MASK"
replace-all "\biterator2_category\b" "_IteratorCategory2" "$MASK"
replace-all "\biteratori_category\b" "_IIteratorCategory" "$MASK"
replace-all "\bless_type\b" "_LessType" "$MASK"
replace-all "\biterator_triple\b" "_IteratorTriple" "$MASK"
replace-all "\bip\b" "_ItTrip" "$MASK"
replace-all "\bdummy_reduct\b" "_DummyReduct" "$MASK"
replace-all "\btag1\b" "_Tag1" "$MASK"
replace-all "\btag2\b" "_Tag2" "$MASK"
replace-all "\btag3\b" "_Tag3" "$MASK"
replace-all "\biteratori_traits\b" "_IIterTraits" "$MASK"
replace-all "\biteratori1_traits\b" "_IIterTraits1" "$MASK"
replace-all "\biteratori2_traits\b" "_IIterTraits2" "$MASK"
replace-all "\biteratoro_traits\b" "_OIterTraits" "$MASK"
replace-all "\biteratori1_category\b" "_IIterCategory1" "$MASK"
replace-all "\biteratori2_category\b" "_IIterCategory2" "$MASK"
replace-all "\biteratoro_category\b" "_OIterCategory" "$MASK"
replace-all "\bT\b" "_Tp" "$MASK"
replace-all "\brand\b\([^(]\)" "__rand\1" "$MASK"
replace-all "\btraits_type\b" "_TraitsType" "$MASK"
replace-all "\b\([a-z0-9_]\+_template\)\b" "__\1" "$MASK"
replace-all "\b\([a-z0-9_]\+_reduct\)\b" "__\1" "$MASK"
replace-all "\([^:]\)\biterator_traits\b\([^<]\)" "\1_IteratorTraits\2"
"$MASK"
replace-all "\bless\b" "_Less" "$MASK"
replace-all "\bstd::_Less\b" "std::less" "$MASK"
replace-all "\bIteratorCategory\b" "_IteratorCategory" "$MASK"
replace-all "\([^:]\)iterator_category\b" "\1_IteratorCategory" "$MASK"
replace-all "\btypedef _IteratorCategory _IteratorCategory\b" "typedef
_IteratorCategory iterator_category" "$MASK"
replace-all " _IteratorCategory" "
iterator_category" "$MASK"
replace-all "\bguarded_iterator\b" "_GuardedIterator" "$MASK"
replace-all "\bsequence_index_t\b" "_SequenceIndex" "$MASK"
replace-all "\bloser_tree_traits\b" "_LoserTreeTraits" "$MASK"
replace-all "\bsampling_sorter\b" "_SamplingSorter" "$MASK"
replace-all "\b\(s[0-9]\{3\}\)\b" "__\1" "$MASK"
replace-all "thread_index_t" "_ThreadIndex" "$MASK"
replace-all "\bdifference_type1\b" "_DifferenceType1" "$MASK"
replace-all "\bdifference_type3\b" "_DifferenceType3" "$MASK"
replace-all "\btls_type\b" "_TLSType" "$MASK"
replace-all "lcas_t" "_CASable" "$MASK"
replace-all "\bfirst_argument_type\b" "_FirstArgumentType" "$MASK"
replace-all "\bsecond_argument_type\b" "_SecondArgumentType" "$MASK"
replace-all "\bresult_type\b" "_ResultType" "$MASK"
replace-all "\([^:]\)\b\plus\b" "\1_Plus" "$MASK"
replace-all "\b__gnu_parallel::plus\b" "__gnu_parallel::_Plus" "$MASK"
replace-all "\([^:]\)\bmultiplies\b" "\1_Multiplies" "$MASK"
replace-all "\b__gnu_parallel::multiplies\b"
"__gnu_parallel::_Multiplies" "$MASK"
replace-all "\bpseudo_sequence\b" "_PseudoSequence" "$MASK"
replace-all "\bpseudo_sequence_iterator\b" "_PseudoSequenceIterator" "$MASK"
replace-all "\btype\b" "_Self" "$MASK"
replace-all "\bvoid_functor\b" "_VoidFunctor" "$MASK"
replace-all "\bComp\b" "_Compare" "$MASK"
replace-all "\bnothing\b" "_Nothing" "$MASK"
replace-all "\biterator_pair\b" "_IteratorPair" "$MASK"
replace-all "\([^:]\)\bdifference_type\b" "\1_DifferenceType" "$MASK"
replace-all "\b_DifferenceType\b" "difference_type" "iterator.h"
replace-all "_DifferenceType _DifferenceType" "difference_type
_DifferenceType" "$MASK"
replace-all "_DifferenceType bound" "difference_type bound" "$MASK"
replace-all "_DifferenceType max_length" "difference_type max_length"
"$MASK"
replace-all "\blexicographic\b" "_Lexicographic" "$MASK"
replace-all "\blexicographic_reverse\b" "_LexicographicReverse" "$MASK"
replace-all "\bsplit_consistently\b" "_SplitConsistently" "$MASK"
replace-all "\bbin_index\b" "_BinIndex" "$MASK"
replace-all "\brandom_number\b" "_RandomNumber" "$MASK"
replace-all "\bmust_be_int\b" "_MustBeInt" "$MASK"
#replace-all "\b\b" "_" "$MASK"
#replace-all "\b\b" "_" "$MASK"
#replace-all "\b\b" "_" "$MASK"
#replace-all "\b\b" "_" "$MASK"
#replace-all "\b\b" "_" "$MASK"
#replace-all "\b\b" "_" "$MASK"
replace-all "\([^\.]\)\blast\b" "\1__last" "$MASK"
replace-all "\([^\.]\)\bfirst\b" "\1__first" "$MASK"
replace-all "\bmy_job\.first\b" "my_job.__first" "$MASK"
replace-all "\bmy_job\.last\b" "my_job.__last" "$MASK"
replace-all "\bjob\[victim \* stride\].first\b" "job[victim *
stride].__first" "$MASK"
replace-all "\bjob\[victim \* stride\].last\b" "job[victim *
stride].__last" "$MASK"
replace-all "\bbase_type::__first\b" "base_type::first" "$MASK"
replace-all "\bother\.first\b" "other.__first" "$MASK"
replace-all "*i\.first\b" "*i.__first" "$MASK"
replace-all "{ return base_type::first - other\.__first; }" "{ return
base_type::first - other.first; }" "$MASK"
replace-all "base_type::first = other.__first;" "base_type::first =
other.first;" "$MASK"
replace-all "\*i\.second = o(\*i\.__first);" "*i.second = o(*i.first);"
"$MASK"
replace-all "\([^\.>]\)\bsecond\b" "\1__second" "$MASK"
replace-all "\bmy_job\.second\b" "my_job.__second" "$MASK"
replace-all "\bmy_job\.last\b" "my_job.__last" "$MASK"
replace-all "\bjob\[victim \* stride\].second\b" "job[victim *
stride].__second" "$MASK"
replace-all "\bjob\[victim \* stride\].last\b" "job[victim *
stride].__last" "$MASK"
replace-all "\bbase_type::__second\b" "base_type::second" "$MASK"
replace-all "\bother\.second\b" "other.__second" "$MASK"
replace-all "*i\.second\b" "*i.__second" "$MASK"
replace-all "{ return base_type::second - other\.__second; }" "{ return
base_type::second - other.second; }" "$MASK"
replace-all "base_type::second = other.__second;" "base_type::second =
other.second;" "$MASK"
replace-all "\*i\.__second = o(\*i\.first);" "*i.second = o(*i.first);"
"$MASK"
replace-all "\bbase_type\b" "_Base" "$MASK"
replace-all "\bnum_threads\b" "__num_threads" "$MASK"
replace-all "\bomp parallel __num_threads\b" "omp parallel num_threads"
"$MASK"
replace-all ") __num_threads(__num_threads)" ")
num_threads(__num_threads)" "$MASK"
replace-all "sections __num_threads" "sections num_threads" "$MASK"
replace-all "\bmultiplies_result_type\b" "_MultipliesResultType" "$MASK"
replace-all "\bit\b" "__it" "list_partition.h"
replace-all "\bS\b" "__S" "multiseq_selection.h"
# replace-all "\b\(parallel_[a-z0-9_]\+\)\b" "__\1" "$MASK"
for variable in dist_lim__it prev num_bins_cache former_front middle
num_chunks borderstart minrightset pq end_seqs next1 next2 index
reduction bound iteration_start old nw inc first_failure ps binary_pred
stolen_first stride my_first supposed_first supposed_last supposed_load
iam_working output_lock job load end_output iter_out begin_output
counter parallelism block_begin sequence lengths block_begins op e
pos_in_pattern found_pattern advances splitters input_length
pattern_length off elements dist0 dist1 oracles global_offset oracle pus
bins_begin bins_end seed bin_proc num_bins num_bits temporaries
bits_left cache supremum_reciprocal supremum mt num_threads_left
pivot_rank new_borders former_back max_size former_borders split
max_size nth final_left final_right swapstart iam_finished thread_left
thread_left_border thread_left_border thread_right_border leftover_left
leftover_right leftnew rightnew reserved_left reserved_right chunk_size
sums border_start reduct constructed thread_results base bin_op first1
last1 first2 binary_op1 binary_op2 length_local length_am temporary
exact sd es temporary maxleftset maxleft minright j sample lrcomp addend
after arbitrary_element b base_case_n before begin1 begin2
begin1_iterator begin_offsets begin_seqs begin_triple bi1 bi2 binop
binary_op block_size borders busy c chunk_length chunks comp comparand
count_to_two cur current delta dist dist_limit dummy element1 element2
elements_done end1 end2 end_triple f find_seq_result first_insert
functionality gen go_back_one k i i1 i2 iam ik l lcomp left leftsize
length lenghts limit lmax lmax_seq local_result losers lt m make_twice
max_length mm mult my_job n N new_val new_value next next_block_start
ne_seqs nmax ns num_longer_chunks num_parts num_samples
num_threads_leftside o offset offsets ok old_value other out output
os_starts oversampling p1 p2 parallelism_tag pieces pivot_pos pos
pos_in_candidates position pred ptr queue_size r range_length raii rank
recent reduction_start replacement res result result_lock return_target
right rng root s samples se search_start selector sentinel sentinels seq
seq0 seq1 seq2 seq3 seqs_begin seqs_end sequential_search_size
seq_length size_greater size_part skew slab split_pos split_pos1
split_pos2 stable steal start starts stop successfully_stolen t t1 t2
tag target target_end target_position third thread_no tight total
total_length total_elements_done tl tls user_op val value v victim wait
x y; do
replace-all "\b$variable\b" "__$variable" "$MASK"
done
replace-all "__c++" "c++" "$MASK"
replace-all "__base\.h" "base.h" "$MASK"
replace-all "_RandomNumber\.h" "random_number.h" "$MASK"
#members
replace-all "\binitial\b" "_M_initial" "balanced_quicksort.h"
replace-all "\bleftover_parts\b" "_M_leftover_parts" "balanced_quicksort.h"
replace-all "\belements_leftover\b" "_M_elements_leftover"
"balanced_quicksort.h"
replace-all "\bglobal\b" "_M_global" "balanced_quicksort.h"
replace-all "\b__finish_iterator\b" "_M_finish_iterator" "$MASK"
# replace-all "\bfirst\b" "_M_first" "iterator.h"
# replace-all "\bfirst\b" "_M_first" "for_each_selectors.h"
# replace-all "\bsecond\b" "_M_second" "iterator.h"
# replace-all "\bsecond\b" "_M_second" "for_each_selectors.h"
replace-all "\bthird\b" "_M_third" "iterator.h"
replace-all "\bthird\b" "_M_third" "for_each_selectors.h"
replace-all "\bsup\b" "_M_sup" "losertree.h"
replace-all "\bsource\b" "_M_source" "losertree.h"
replace-all "\bsource\b" "_M_source" "multiway_mergesort.h"
replace-all "\bsource\b" "_M_source" "random_shuffle.h"
replace-all "\bkey\b" "_M_key" "losertree.h"
replace-all "\bkeyp\b" "_M_keyp" "losertree.h"
replace-all "\buse_pointer\b" "_M_use_pointer" "$MASK"
#comp
replace-all "\__op\b" "_M_op" "base.h"
replace-all "\__value\b" "_M_value" "base.h"
replace-all "\__val\b" "_M_val" "base.h"
replace-all "\__pos\b" "_M_pos" "base.h"
replace-all "\__count\b" "_M_count" "base.h"
replace-all "\__current\b" "_M_current" "multiway_merge.h"
replace-all "\__end\b" "_M_end" "multiway_merge.h"
replace-all "\__base\b" "_M_base" "queue.h"
replace-all "\__max_size\b" "_M_max_size" "queue.h"
replace-all "\__borders\b" "_M_borders" "queue.h"
replace-all "\__mt\b" "_M_mt" "random_number.h"
replace-all "\__supremum\b" "_M_supremum" "random_number.h"
replace-all "\_RAND_SUP\b" "_M_rand_sup" "random_number.h"
replace-all "\__supremum_reciprocal\b" "_M_supremum_reciprocal"
"random_number.h"
replace-all "\_RAND_SUP_REC\b" "_M_rand_sup_rec" "random_number.h"
#num_threads, comp
# replace-all "\b__begin\b" "_M_begin" "multiway_mergesort.h"
# replace-all "\b__end\b" "_M_end" "losertree.h"
replace-all "\b__starts\b" "_M_starts" "multiway_mergesort.h"
replace-all "\b__temporary\b" "_M_temporary" "multiway_mergesort.h"
replace-all "\b__samples\b" "_M_samples" "multiway_mergesort.h"
replace-all "\b__offsets\b" "_M_offsets" "multiway_mergesort.h"
replace-all "\b__pieces\b" "_M_pieces" "multiway_mergesort.h"
replace-all "\b__temporaries\b" "_M_temporaries" "random_shuffle.h"
replace-all "\b__dist\b" "_M_dist" "random_shuffle.h"
replace-all "\b__starts\b" "_M_starts" "random_shuffle.h"
replace-all "\b__bin_proc\b" "_M_bin_proc" "random_shuffle.h"
replace-all "\b__num_bins\b" "_M_num_bins" "random_shuffle.h"
replace-all "\b__num_bits\b" "_M_num_bits" "random_shuffle.h"
replace-all "\b__bins_begin\b" "_M_bins_begin" "random_shuffle.h"
replace-all "\b__bins_end\b" "__bins_end" "random_shuffle.h"
replace-all "\b__seed\b" "_M_seed" "random_shuffle.h"
replace-all "\b__sd\b" "_M_sd" "random_shuffle.h"
replace-all "\binvoke\b" "_M_invoke" "set_operations.h"
replace-all "\b__count\b" "_M_count" "random_shuffle.h"
for function in random_number_pow2 sequential_random_shuffle
parallel_random_shuffle_drs round_up_to_pow2
parallel_random_shuffle_drs_pu parallel_partial_sum_basecase
parallel_unique_copy parallel_set_union parallel_set_intersection
parallel_set_difference parallel_set_symmetric_difference
parallel_set_operation union_func intersection_func difference_func
second_empty first_empty calc_borders parallel_random_shuffle
genrand_bits scale_down parallel_sort_qs parallel_sort_qs_conquer
parallel_sort_qs_divide encode2 parallel_partial_sum_linear
parallel_partial_sum possibly_stable_multiway_merge possibly_stable_sort
determine_samples binder1st cas32 cas64 compare_and_swap
compare_and_swap_32 compare_and_swap_64 delete_min_insert faa32 faa64
fetch_and_add fetch_and_add_32 fetch_and_add_64
for_each_template_random_access get_min_source get_max_threads
get_num_threads init init_winner insert_start is_parallel is_sorted
median_of_three_iterators merge_advance merge_advance_usual
merge_advance_movc parallel_merge_advance parallel_partition
parallel_sort_qsb parent_wait qsb_conquer qsb_divide
qsb_local_sort_with_helping sequential_multiway_merge shrink
shrink_and_double unary_negate yield; do
replace-all "\b$function\b" "__$function" "$MASK"
done
replace-all "sequential_algorithm" "_M_sequential_algorithm" "$MASK"
for type in UnaryOperation Fu UserOp Functionality Red Pred Selector
Integer Job DRSSorterPU DRandomShufflingGlobalData RAND_SUP RAND_SUP_REC
PMWMSSortingData SortingPlacesIterator Addend BinaryOperation
BinaryPredicate BinOp Diff ForwardIterator Function FunctorType It
Iterator Iterator1 Iterator2 Iterator3 Loser LoserTreePointerBase
LoserTreePointer LoserTreeUnguardedBase LoserTreeUnguarded Op
OutputIterator Output_RAIter Parallelism Piece Predicate QSBThreadLocal
RanSeqs RankIterator RankType RestrictedBoundedConcurrentQueue Result
Size StrictWeakOrdering T1 T2; do
replace-all "\b$type\b" "_$type" "$MASK"
done
replace-all "\ba\b" "__a" "base.h"
replace-all "\ba\b" "__a" "multiseq_selection.h"
replace-all "\ba\b" "__a" "multiway_merge.h"
replace-all "\ba\b" "__a" "set_operations.h"
replace-all "\bcount\b" "__count" "base.h"
replace-all "\bcount\b" "__count" "set_operations.h"
replace-all "\\\\__n\b" "\\\\n" "$MASK"
plus restoration of comment phrases
Johannes
[-- Attachment #2: uglifying1.patch.gz --]
[-- Type: application/x-gzip, Size: 105492 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-10 9:54 [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers Johannes Singler
@ 2009-09-10 18:19 ` Benjamin Kosnik
2009-09-14 7:55 ` Johannes Singler
0 siblings, 1 reply; 9+ messages in thread
From: Benjamin Kosnik @ 2009-09-10 18:19 UTC (permalink / raw)
To: Johannes Singler; +Cc: libstdc++, gcc-patches
> The attached patch (compressed due to size) uglifies the internals of
> the libstdc++ parallel mode.
> Since the uglification changes the line length, the line breaks have
> to be updated. I will do this for the (to be proposed) final patch
> when the uglification itself is approved in principle (its style).
Great to see this, and great timing. Perhaps the best way to do this is
on trunk and in stages.
> 2009-09-10 Johannes Singler <singler@ira.uka.de>
>
> * include/parallel/*: Uglify internal identifiers.
>
> Shall I specify all files explicitly in the changelog entry?
Not necessary for casual cleanups I'd say. Although canonical style says
all files are to be listed.
> The following lines give an impression on what was changed (add to
> changelog?):
Maybe just add the transformations, so as above plus.
Change begin* to __begin*.
Also, as a side note, for this code:
+ template<typename _Iterator1, typename _Iterator2, typename
_Iterator3,
+ typename _IteratorCategory>
+ class _IteratorTriple
{
private:
- typedef iterator_triple<Iterator1, Iterator2, Iterator3,
- IteratorCategory> type;
+ typedef _IteratorTriple<_Iterator1, _Iterator2, _Iterator3,
+ _IteratorCategory> _Self;
_Self is redundant with just _IteratorTriple. Is this just a style
thing?
-benjamin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-10 18:19 ` Benjamin Kosnik
@ 2009-09-14 7:55 ` Johannes Singler
2009-09-14 18:58 ` Benjamin Kosnik
0 siblings, 1 reply; 9+ messages in thread
From: Johannes Singler @ 2009-09-14 7:55 UTC (permalink / raw)
To: Benjamin Kosnik; +Cc: libstdc++, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]
Benjamin Kosnik wrote:
>> The attached patch (compressed due to size) uglifies the internals of
>> the libstdc++ parallel mode.
>> Since the uglification changes the line length, the line breaks have
>> to be updated. I will do this for the (to be proposed) final patch
>> when the uglification itself is approved in principle (its style).
>
> Great to see this, and great timing. Perhaps the best way to do this is
> on trunk and in stages.
Stages in what sense?
-Per file? There are identifiers spanning files.
-Per identifier(s)? Then fix the line breaks each time?
>> 2009-09-10 Johannes Singler <singler@ira.uka.de>
>>
>> * include/parallel/*: Uglify internal identifiers.
>>
>> Shall I specify all files explicitly in the changelog entry?
>
> Not necessary for casual cleanups I'd say. Although canonical style says
> all files are to be listed.
>
>> The following lines give an impression on what was changed (add to
>> changelog?):
>
> Maybe just add the transformations, so as above plus.
Okay. I have attached the whole thing again.
> Change begin* to __begin*.
Where?
> Also, as a side note, for this code:
>
> + template<typename _Iterator1, typename _Iterator2, typename
> _Iterator3,
> + typename _IteratorCategory>
> + class _IteratorTriple
> {
> private:
> - typedef iterator_triple<Iterator1, Iterator2, Iterator3,
> - IteratorCategory> type;
> + typedef _IteratorTriple<_Iterator1, _Iterator2, _Iterator3,
> + _IteratorCategory> _Self;
>
> _Self is redundant with just _IteratorTriple. Is this just a style
> thing?
You are right, _Self is redundant. But I would like to fix that later.
-- Johannes
[-- Attachment #2: renaming.sh --]
[-- Type: application/x-shellscript, Size: 23737 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-14 7:55 ` Johannes Singler
@ 2009-09-14 18:58 ` Benjamin Kosnik
2009-09-15 14:09 ` Johannes Singler
0 siblings, 1 reply; 9+ messages in thread
From: Benjamin Kosnik @ 2009-09-14 18:58 UTC (permalink / raw)
To: Johannes Singler; +Cc: libstdc++, gcc-patches
> > Change begin* to __begin*.
>
> Where?
As data in the (otherwise abbreviated) ChangeLog entry. Just list the
transformations into something like this.
Ie:
2009-09-10 Johannes Singler <singler@ira.uka.de>
* include/parallel/*: Uglify internal identifiers as follows.
Change begin* to __begin*. Change x to y. Change z to b.
etc.
Maybe this is too much information, anyway, and you can get away with:
2009-09-10 Johannes Singler <singler@ira.uka.de>
* include/parallel/*: Uglify internal identifiers.
Much less work. Don't care myself. Unless you hear objections just go
with the latter.
> > Also, as a side note, for this code:
> >
> > + template<typename _Iterator1, typename _Iterator2, typename
> > _Iterator3,
> > + typename _IteratorCategory>
> > + class _IteratorTriple
> > {
> > private:
> > - typedef iterator_triple<Iterator1, Iterator2, Iterator3,
> > - IteratorCategory> type;
> > + typedef _IteratorTriple<_Iterator1, _Iterator2, _Iterator3,
> > + _IteratorCategory> _Self;
> >
> > _Self is redundant with just _IteratorTriple. Is this just a style
> > thing?
>
> You are right, _Self is redundant. But I would like to fix that
> later.
Sure. This is what I meant with "stages" above: just start on the
cleanups and do a couple of passes. You don't have to get it 100% the
first time.
best,
-benjamin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-14 18:58 ` Benjamin Kosnik
@ 2009-09-15 14:09 ` Johannes Singler
2009-09-15 16:11 ` Benjamin Kosnik
2009-09-21 15:23 ` Paolo Carlini
0 siblings, 2 replies; 9+ messages in thread
From: Johannes Singler @ 2009-09-15 14:09 UTC (permalink / raw)
To: Benjamin Kosnik; +Cc: libstdc++, gcc-patches
Benjamin Kosnik wrote:
>>> Change begin* to __begin*.
>> Where?
>
> As data in the (otherwise abbreviated) ChangeLog entry. Just list the
> transformations into something like this.
>
> Ie:
>
> 2009-09-10 Johannes Singler <singler@ira.uka.de>
>
> * include/parallel/*: Uglify internal identifiers as follows.
> Change begin* to __begin*. Change x to y. Change z to b.
>
> etc.
>
> Maybe this is too much information, anyway, and you can get away with:
>
> 2009-09-10 Johannes Singler <singler@ira.uka.de>
>
> * include/parallel/*: Uglify internal identifiers.
>
> Much less work. Don't care myself. Unless you hear objections just go
> with the latter.
>
>>> Also, as a side note, for this code:
>>>
>>> + template<typename _Iterator1, typename _Iterator2, typename
>>> _Iterator3,
>>> + typename _IteratorCategory>
>>> + class _IteratorTriple
>>> {
>>> private:
>>> - typedef iterator_triple<Iterator1, Iterator2, Iterator3,
>>> - IteratorCategory> type;
>>> + typedef _IteratorTriple<_Iterator1, _Iterator2, _Iterator3,
>>> + _IteratorCategory> _Self;
>>>
>>> _Self is redundant with just _IteratorTriple. Is this just a style
>>> thing?
>> You are right, _Self is redundant. But I would like to fix that
>> later.
>
> Sure. This is what I meant with "stages" above: just start on the
> cleanups and do a couple of passes. You don't have to get it 100% the
> first time.
Okay, so if nobody objects, I will commit the patch I have so far
(respecting recent other changes), then do some left-over detail
renamings, then convert the tabs to spaces and take case of the line breaks.
-- Johannes
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-15 14:09 ` Johannes Singler
@ 2009-09-15 16:11 ` Benjamin Kosnik
2009-09-21 15:23 ` Paolo Carlini
1 sibling, 0 replies; 9+ messages in thread
From: Benjamin Kosnik @ 2009-09-15 16:11 UTC (permalink / raw)
To: Johannes Singler; +Cc: libstdc++, gcc-patches
> Okay, so if nobody objects, I will commit the patch I have so far
> (respecting recent other changes), then do some left-over detail
> renamings, then convert the tabs to spaces and take case of the line
> breaks.
Sounds good.
-benjamin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-15 14:09 ` Johannes Singler
2009-09-15 16:11 ` Benjamin Kosnik
@ 2009-09-21 15:23 ` Paolo Carlini
2009-09-23 8:17 ` Johannes Singler
1 sibling, 1 reply; 9+ messages in thread
From: Paolo Carlini @ 2009-09-21 15:23 UTC (permalink / raw)
To: Johannes Singler; +Cc: Benjamin Kosnik, libstdc++, gcc-patches
Hi,
> Okay, so if nobody objects, I will commit the patch I have so far
> (respecting recent other changes), then do some left-over detail
> renamings, then convert the tabs to spaces and take case of the line breaks.
>
first, thanks for this work. I don't know exactly which is the current
status, just noticed that some names are still not uglified, is that
being worked on? For example, BinaryFunction1, BinaryFunction2,
parallel_unbalanced, sequential_tag, traits_type1, traits_type2,
traitsi_type, value_type1, value_type2, iteratorf_category,
count_minimal_n, default_parallel_tag, balanced_quicksort_tag,
iterator1_traits, iterator2_traits, max_element_minimal_n, unary_op...
Paolo.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-21 15:23 ` Paolo Carlini
@ 2009-09-23 8:17 ` Johannes Singler
2009-09-23 8:52 ` Paolo Carlini
0 siblings, 1 reply; 9+ messages in thread
From: Johannes Singler @ 2009-09-23 8:17 UTC (permalink / raw)
To: Paolo Carlini; +Cc: Benjamin Kosnik, libstdc++, gcc-patches
Paolo Carlini wrote:
> Hi,
>> Okay, so if nobody objects, I will commit the patch I have so far
>> (respecting recent other changes), then do some left-over detail
>> renamings, then convert the tabs to spaces and take case of the line breaks.
>>
> first, thanks for this work. I don't know exactly which is the current
> status, just noticed that some names are still not uglified, is that
> being worked on?
Yes.
> For example, BinaryFunction1, BinaryFunction2,
> traits_type1, traits_type2,
> traitsi_type, value_type1, value_type2, iteratorf_category,
> iterator1_traits, iterator2_traits, unary_op...
I have done another review, and uglified leftover identifiers, including
the above. If you find some more, please tell me.
> parallel_unbalanced, sequential_tag,
> count_minimal_n, default_parallel_tag, balanced_quicksort_tag,
> max_element_minimal_n,
I would consider them part of the "interface". Since they are likely to
be already used in user programs I would like to not change them. They
are also unlikely to collide, because the names are very specific.
-- Johannes
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers
2009-09-23 8:17 ` Johannes Singler
@ 2009-09-23 8:52 ` Paolo Carlini
0 siblings, 0 replies; 9+ messages in thread
From: Paolo Carlini @ 2009-09-23 8:52 UTC (permalink / raw)
To: Johannes Singler; +Cc: Benjamin Kosnik, libstdc++, gcc-patches
> I would consider them part of the "interface". Since they are
> likely to
> be already used in user programs I would like to not change them.
By 'used' you are referring to the names corresponding to
configuration details / user-visible options right? I agree that
changing those now would not be a good idea, would break the ABI in
the wide sense which are usually trying to use. Besides all those
unfortunate special cases, however, all the other names should be
adjusted, per the normal policy.
Thanks,
Paolo
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-09-23 8:45 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-10 9:54 [PATCH][libstdc++-v3 parallel mode] Uglification of internal identifiers Johannes Singler
2009-09-10 18:19 ` Benjamin Kosnik
2009-09-14 7:55 ` Johannes Singler
2009-09-14 18:58 ` Benjamin Kosnik
2009-09-15 14:09 ` Johannes Singler
2009-09-15 16:11 ` Benjamin Kosnik
2009-09-21 15:23 ` Paolo Carlini
2009-09-23 8:17 ` Johannes Singler
2009-09-23 8:52 ` Paolo Carlini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).