Jump to content
Excelsior Forums
ronnie

Overriding AOT-compiled classes with JIT-compiled ones.

Recommended Posts

Hello.

I'm curious whether there is a way to update a class in a JET-compiled project, without recompiling the project. In other words, I need the JET compiled application to use a JIT-compiled new version of a class, instead of the old AOT-compiled one. Is that possible somehow?

The motivation for this is a need to remotely patch a JET-compiled application, through a very slow connection, where it is impossible to upload the whole recompiled binary.

Thanks.

Ronald Weiss

Share this post


Link to post
Share on other sites

Hello Ronald.

In general you cannot upgrade just one class due to various optimizations performed by the compiler. For example, method foo from class A can be inlined into method bar from class B. So if you want to upgrade A you have to upgrade B as well.

You can employ multi-component model to make your updates smaller. For more details please refer to the section Multi-component applications of Excelsior JET User's Guide. But even if you decide to use it, please keep in mind the above restriction. If one component directly uses class from the other component then these components should be upgraded simultaneously. Examples of direct uses are creating a class instance via the new operator, extending a class from another component, accessing static members, etc.

Do not hesitate to contact us with any other questions you may have.

Regards,

Vyacheslav Egorov

Share this post


Link to post
Share on other sites
The motivation for this is a need to remotely patch a JET-compiled application, through a very slow connection, where it is impossible to upload the whole recompiled binary.

We have plans to address this issue by substantially reducing the size of update packages created with JetPackII.

It can be implemented through an advanced technique of binary comparison which is conscious of the structure of JET-compiled executables.

We have already conducted some experiments and obtain very promising results.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×