1. A computer-implemented process for data splitting for multi-instantiated objects, the computer-implemented process comprising: receiving a portion of source code for compilation having a dynamic object to split using object size array data splitting; replacing all memory allocations for the dynamic object with a total size of an object size array and object field arrays including a predetermined padding; inserting statements in the source code after the memory allocations to populate the object size array with a value of a number of elements of the object size array; updating a stride for load and store operations using dynamic pointers; and modifying field references by adding a distance between the object size array and the object field array to respective address operations.