HW-SW co-design techniques for modern programming languages