diff options
author | Simon McQueen <simon.mcqueen@gmail.com> | 2008-10-22 17:41:08 +0000 |
---|---|---|
committer | Simon McQueen <simon.mcqueen@gmail.com> | 2008-10-22 17:41:08 +0000 |
commit | 21c301e31b936ad81dd243809dfb41eac89433df (patch) | |
tree | 13203e779ef4058c1ee84efaf68854a6a5fcdd87 | |
parent | 3b4795fe484d79d175c23245627f20c3dd961eef (diff) | |
download | ATCD-21c301e31b936ad81dd243809dfb41eac89433df.tar.gz |
ChangeLogTag: Wed Oct 22 17:37:26 UTC 2008 Simon McQueen <sm@prismtech.com>
-rw-r--r-- | TAO/ChangeLog | 8 | ||||
-rw-r--r-- | TAO/tao/Bounded_Sequence_CDR_T.h | 7 | ||||
-rw-r--r-- | TAO/tao/Unbounded_Sequence_CDR_T.h | 7 |
3 files changed, 10 insertions, 12 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index cac19b2f8e6..113e115d79c 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,11 @@ +Wed Oct 22 17:37:26 UTC 2008 Simon McQueen <sm@prismtech.com> + + * tao/Bounded_Sequence_CDR_T.h: + * tao/Unbounded_Sequence_CDR_T.h: + + Remove some sort of template var thing that is killing performance. + This fixes bug #3472. + Wed Oct 22 12:49:03 UTC 2008 Vladimir Zykov <vzykov@prismtech.com> * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: diff --git a/TAO/tao/Bounded_Sequence_CDR_T.h b/TAO/tao/Bounded_Sequence_CDR_T.h index b913c832ec5..57565704c77 100644 --- a/TAO/tao/Bounded_Sequence_CDR_T.h +++ b/TAO/tao/Bounded_Sequence_CDR_T.h @@ -303,7 +303,6 @@ namespace TAO { template <typename stream, typename charT, CORBA::ULong MAX> bool demarshal_sequence(stream & strm, TAO::bounded_basic_string_sequence <charT, MAX> & target) { typedef typename TAO::bounded_basic_string_sequence <charT, MAX> sequence; - typedef typename sequence::element_traits::string_var string_var; ::CORBA::ULong new_length = 0; if (!(strm >> new_length)) { return false; @@ -314,13 +313,9 @@ namespace TAO { sequence tmp; tmp.length(new_length); for(CORBA::ULong i = 0; i < new_length; ++i) { - string_var string; - if (!(strm >> string.inout ())) { + if (!(strm >> tmp[i].out ())) { return false; } - else { - tmp[i] = string._retn (); - } } tmp.swap(target); return true; diff --git a/TAO/tao/Unbounded_Sequence_CDR_T.h b/TAO/tao/Unbounded_Sequence_CDR_T.h index 43de8b27381..39ab18806be 100644 --- a/TAO/tao/Unbounded_Sequence_CDR_T.h +++ b/TAO/tao/Unbounded_Sequence_CDR_T.h @@ -339,7 +339,6 @@ namespace TAO { template <typename stream, typename charT> bool demarshal_sequence(stream & strm, TAO::unbounded_basic_string_sequence <charT> & target) { typedef TAO::unbounded_basic_string_sequence <charT> sequence; - typedef typename sequence::element_traits::string_var string_var; ::CORBA::ULong new_length = 0; if (!(strm >> new_length)) { return false; @@ -350,13 +349,9 @@ namespace TAO { sequence tmp(new_length); tmp.length(new_length); for(CORBA::ULong i = 0; i < new_length; ++i) { - string_var string; - if (!(strm >> string.inout ())) { + if (!(strm >> tmp[i].out ())) { return false; } - else { - tmp[i] = string._retn (); - } } tmp.swap(target); return true; |