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 a plurality of object field arrays; inserting statements in the source code after the memory allocations to populate the object size array, such that each element of a plurality of elements of the object size array is a value that is equal to a number of elements in the object size array, and wherein each of the object size array and the plurality of object field arrays comprises the same number of elements; 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 an object field array of the plurality of object field arrays to respective address operations.