From: Erik B. <eri...@gm...> - 2013-10-29 10:08:51
|
Hi, On 28.10.2013 11:43, Jeremy Singer wrote: > public Address fooIP; // IP on end is required for correct code rewriting > > Does this field need an @EntryPoint annotation? You'll see that there are some @Entrypoint annotations on certain sysCallIP fields in BootRecord. These fields are directly accessed by the compilers. For example, the IA32 baseline compiler emits direct calls to SysCalls to implement the bytecodes ldiv and lrem (non-SSE builds also use SysCalls for f2i and d2i). The other SysCalls are not accessed this way. To understand what is happening, take a look at SysCallImpl (which is generated during the build process). The methods annotated with @SysCallNative are the methods that end up getting called. If you're interested in the implementation of SysCalls in the baseline compilers, take a look at the processing of the invokestatic bytecode in TemplateCompilerFramework. The optimizing compiler has a separate Operator for SysCalls. Kind regards, Erik Brangs |