Thanks to all who responded on this and also to those that suggested JMH to give a more accurate sense of performance.
Now I understand it, it’s obvious, there is dynamic code in the caller at the call site. Duh. Yes, annotating the caller gives me what I want, though interestingly makes little difference to t.@member = val. I guess that is because it is forcing the use of dynamic code at the call site. Simon. From: Alessio Stalla [mailto:[email protected]] Sent: 21 January 2016 15:52 To: [email protected] Subject: Re: A @CompileStatic for class members I believe you should @CompileStatic the code doing t.member = val as well. On 21 January 2016 at 16:47, Schalk Cronjé <[email protected]<mailto:[email protected]>> wrote: No idea if this will improve it, but have you tried the following? t.@member<mailto:t.@member> = val "Misys" is the trade name of the Misys group of companies. This email and any attachments have been scanned for known viruses using multiple scanners. This email message is intended for the named recipient only. It may be privileged and/or confidential. If you are not the named recipient of this email please notify us immediately and do not copy it or use it for any purpose, nor disclose its contents to any other person. This email does not constitute the commencement of legal relations between you and Misys. Please refer to the executed contract between you and the relevant member of the Misys group for the identity of the contracting party with which you are dealing.
