In a way, GPU shader languages "fit" parallel GPU architecture (though not cache-aware).
Maybe... limited loop code-length to fit in cache; No pointer chasing (though you can workaround anything in a TM).
Some java subsets for very limited hardware might be instances.