Pre-Grant Publication Number: 20070226722
Collaborate on the process of community review for this application. Posting will not be forwarded to the USPTO.
Flagging a post as an ACTION ITEM signals further research. Flagging SPAM and ABUSE helps to manage discussion.
Placing double brackets around a reference to a claim or prior art will create a hyperlink to the original
ex. [[claim 1]] and [[prior art 2]].

Discussion (13)
Show without Noise
0 days left







At run time, the platform is tested and if an available optimised native code version is found, that is executed - if not the platform independant BEAM bytecode is used as a fallback.
There are various papers dating back to 1996 describing this: http://www.it.uu.se/research/group/hipe/publications.shtml
I haven't been involved in peer to patent before - please let me know if you think this is relevant prior art and I will choose the most appropriate paper and extract the appropriate synopsis.
The current application claims different bits of code for purposes of different optimizations (presumably multiple versions to choose among all for one platform), whereas the universal binary apparently provides multiple versions to choose from, all for different platforms. However, one wonders if the claims are worded carefully enough. Perhaps there is some relevant overlap with Claim 1. How better to "optimize" code according to a particular condition, where the condition is execution upon a particular platform, than to execute code specifically compiled for that platform, where the alternative may be to execute code compiled for some other platform, in emulation mode.
codes written in C. At another level, however, all these C codes are generated automatically
from the *same* source code written in OCAML, which, when run, generates the different
C codes.
As a prior art, I would point out that the Intel C/C++ compiler generates different executables from
the same source code, together with a runtime dispatch of the appropriate version. For example,
SSE instructions accelerate certain operations provided that the data is aligned in memory to
16-byte boundary. The compiler generates both SSE and non-SSE code, and determines
at runtime which one to use.
The linux kernel contains several algorithms for computing the parity in a RAID disk array, and
selects at boot time which one runs fastest on a given machine.