[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Synchronisation and Optimisation





> Would it correct the problem if we made CSE kill all information about
> fields (and arrays and globals) when it encounters a monitorexit
> statement? That is,
> NaiveSideEffectTester: unitCanWriteTo( Unit u, Value v )
> would return true if u was a monitorexit, and v was visible to other
> threads?

Intuitive solution (which may not be formally correct): All information
about the fields needs to be killed on monitorenter _and_ monitorexit. I am
not that familiar with the Soot code yet - so can't comment on the proposed
code change. I would appreciate if someone else can have a look at it.

Thanks for the prompt answer :)

Regards,
Stephen