[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SPARK handling of String constants
I have been playing around with string constants a bit lately, so these
things have been changing, but I think the following is true of the
1.2.5 release. When Spark encounters a String constant, it checks to see
if its constant value is the name of a class. If it is, the constant
gets represented by a StringConstantNode unique to that constant, so
Spark can later identify the constant if it reaches a reflective call.
All constants that are not the names of classes that Soot knows about
are represented by a single AllocNode, since it doesn't make much sense
to distinguish them, and there tend to be many of them.
Ondrej
On Fri, Apr 18, 2003 at 10:58:31AM -0700, Manu Sridharan wrote:
> Hi,
>
> I am trying to understand how SPARK handles String constants. Browsing
> the source and writing a couple of small tests seemed to indicate that all
> String constants all unified, so any two String variables that are
> assigned a String constant will have intersecting points-to sets.
> However, I believe that SPARK also attempts to figure out the targets of
> reflective calls through inspecting String constant values. Is there any
> documentation on how exactly SPARK handles Strings? This is for the 1.2.5
> release, BTW.
>
> Thanks,
> Manu
>