Before this patch, analyzeContext called getCanonicalDIEOffset(), for which the result depends on the timings of the setCanonicalDIEOffset() calls in the cloneLambda. This can lead to slightly different output between runs.
This patch fixes this by moving the call to getCanonicalDIEOffset() into the cloneLambda.