axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nadir amra (JIRA)" <>
Subject [jira] Created: (AXISCPP-1028) More efficient use of memory resources
Date Mon, 12 Mar 2007 01:14:09 GMT
More efficient use of memory resources

                 Key: AXISCPP-1028
             Project: Axis-C++
          Issue Type: Improvement
          Components: Client - Deserialization
            Reporter: nadir amra
         Assigned To: nadir amra

When deserializing simple types, and the type is a pointer type, the code generator generates
code as follows: 

		param->setrequiredAttribute (pValue0);
		Axis::AxisDelete( (void *) pValue0, XSD_STRING);

That is, we use the setter method which makes a copy of the string, and then delete the string.
 It would be more efficient to store the deserialized value in the class without making a
copy and performing a delete. 

To achieve this goal, need to enhance setter methods so that not only is a flag indicating
whether a deep copy is to be performed is generated, but another flag indicating whether a
copy is to be performed.  By default, the makeCopy flag will be true and thus will provide
the same semantics as the code is today.  However, the code generator can then make use of
this flag so that it can call the setter method with deep copy set to true and makeCopy flag
set to false - implying that the value being passed in should be stored in the class as-is,
but because deep flag is set to true, it will be owned by the object.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message