summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2002-03-08 18:34:41 +0000
committerMark Spruiell <mes@zeroc.com>2002-03-08 18:34:41 +0000
commita2d34e1ec452a7b9894fe1d6e7b9363a8d2497f5 (patch)
tree056b9f97fe4e9fc4e5133be613a92d3d34846392 /cpp/src/slice2java
parentadding optimize attribute (diff)
downloadice-a2d34e1ec452a7b9894fe1d6e7b9363a8d2497f5.tar.bz2
ice-a2d34e1ec452a7b9894fe1d6e7b9363a8d2497f5.tar.xz
ice-a2d34e1ec452a7b9894fe1d6e7b9363a8d2497f5.zip
initial performance fixes
Diffstat (limited to 'cpp/src/slice2java')
-rw-r--r--cpp/src/slice2java/Gen.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 70957275b12..36b617e0b13 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -2742,6 +2742,8 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
bool nonmutating = find(metaData.begin(), metaData.end(), "nonmutating") != metaData.end();
out << nl << "IceInternal.Outgoing __out = new IceInternal.Outgoing(__connection, __reference, \""
<< op->name() << "\", " << (nonmutating ? "true" : "false") << ", __context);";
+ out << nl << "try";
+ out << sb;
if (!inParams.empty())
{
out << nl << "IceInternal.BasicStream __os = __out.os();";
@@ -2824,6 +2826,12 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p)
}
out << eb;
+ out << nl << "finally";
+ out << sb;
+ out << nl << "__out.destroy();";
+ out << eb;
+
+ out << eb;
}
out << eb;