1. An information handling system comprising: a plurality of heterogeneous processors; a common memory shared by the plurality of heterogeneous processors; a first processor selected from the plurality of heterogeneous processors that sends a code processing request to a second processor, the second processor also being selected from the plurality of heterogeneous processors, wherein the first processor executes a first instruction set and wherein the second processor executes a second instruction set; a first local memory accessible to the first processor; a second local memory accessible to the second processor; a direct memory access (DMA) controller associated with the second processor, the DMA controller adapted to transfer data between the common memory and the second processor's local memory; and a processing tool for processing software code, the processing tool including software effective to: load a virtual machine engine into the common memory; load, by the first processor, virtual machine code into the common memory, the virtual machine code adapted to be processed by the virtual machine engine; write, by the first processor, the code processing request into a mailbox associated with the second processor; receive, by the second processor, the code processing request from the second processor's mailbox; in response to receiving the code processing request, load, at the second processor, the virtual machine engine from the common memory into the second local memory; in further response to receiving the code processing request, read, by the second processor from the common memory, software code data corresponding to the code processing request, the software code data including the virtual machine code; write the software code data corresponding to the code processing request to the second local memory; process the software code data by the second processor, wherein the processing includes processing the virtual machine code at the second processor using the virtual machine engine, the processing resulting in executable instructions, the executable instructions comprising instructions from the first instruction set and capable of being executed by the first processor; write the executable instructions to a memory location accessible by the first processor; and execute, at the first processor, the executable instructions.
1. An information handling system comprising: a plurality of heterogeneous processors; a common memory shared by the plurality of heterogeneous processors; a first processor selected from the plurality of heterogeneous processors that sends a code processing request to a second processor, the second processor also being selected from the plurality of heterogeneous processors, wherein the first processor executes a first instruction set and wherein the second processor executes a second instruction set; a first local memory accessible to the first processor; a second local memory accessible to the second processor; a direct memory access (DMA) controller associated with the second processor, the DMA controller adapted to transfer data between the common memory and the second processor's local memory; and a processing tool for processing software code, the processing tool including software effective to: load a virtual machine engine into the common memory; load, by the first processor, virtual machine code into the common memory, the virtual machine code adapted to be processed by the virtual machine engine; write, by the first processor, the code processing request into a mailbox associated with the second processor; receive, by the second processor, the code processing request from the second processor's mailbox; in response to receiving the code processing request, load, at the second processor, the virtual machine engine from the common memory into the second local memory; in further response to receiving the code processing request, read, by the second processor from the common memory, software code data corresponding to the code processing request, the software code data including the virtual machine code; write the software code data corresponding to the code processing request to the second local memory; process the software code data by the second processor, wherein the processing includes processing the virtual machine code at the second processor using the virtual machine engine, the processing resulting in executable instructions, the executable instructions comprising instructions from the first instruction set and capable of being executed by the first processor; write the executable instructions to a memory location accessible by the first processor; and execute, at the first processor, the executable instructions. 7. The information handling system as described in claim 1 further comprising software code effective to: write the executable instructions to the common memory; and notify the first processor that the executable instructions have been written.