summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McQueen <simon.mcqueen@gmail.com>2008-10-22 17:41:08 +0000
committerSimon McQueen <simon.mcqueen@gmail.com>2008-10-22 17:41:08 +0000
commit21c301e31b936ad81dd243809dfb41eac89433df (patch)
tree13203e779ef4058c1ee84efaf68854a6a5fcdd87
parent3b4795fe484d79d175c23245627f20c3dd961eef (diff)
downloadATCD-21c301e31b936ad81dd243809dfb41eac89433df.tar.gz
ChangeLogTag: Wed Oct 22 17:37:26 UTC 2008 Simon McQueen <sm@prismtech.com>
-rw-r--r--TAO/ChangeLog8
-rw-r--r--TAO/tao/Bounded_Sequence_CDR_T.h7
-rw-r--r--TAO/tao/Unbounded_Sequence_CDR_T.h7
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;