Hi Linux and Java experts,

My son is about to start a project that aims to research variations in small code snippets that are automatically generated by a kind of compiler.

Of course he uses fpc to do the "testing system", that also includes the "compiler".

Now he needs to start the code snippets. As the system needs to do billions of "starts" of such snippets, which are very small, saving them in files as an executable does not seem appropriate.

We discussed the protection features done by the MMU hardware and agreed to try two different ways to accomplish the task of running the code snippets in a "sandbox".


1) The "traditional Linux" way would be to have the main process create the code to be started in a RAM area *as X86-64 native code* and then use "fork()" with the appropriate options to start it as a newly spawned process. Here the question is how to use fork() (from fpc) for exactly this: i.e. the code area needs to be "writable data" for the parent process and "protected code" for the child. (Linux experts, please...)

2) The "modernistic" way would be to have the main process create the code to be started in a RAM area *as Java Byte code* and then call a Java "just-in-time" engine (as a DLL) to execute it. Here the question is how an already initialized, extremely lightweight Java engine can be called from fpc to execute a Byte Code sequence residing in the parent's RAM, in a protected way. (Java experts, please...)

Thanks in Advance,
-Michael

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to