1. A method of reducing the impact of a first software routine on a shared stack of a computing system in which the first software routine is running, comprising: determining that the first software routine accesses a larger portion of data stored in the shared stack relative to other software routines executing within the computing system; enabling access to a hardware assisted stack; prior to executing the first software routine, offloading the larger portion of data from the shared stack to the hardware assisted stack mapped to an address space accessible to the first software routine; pushing a counter onto the hardware assisted stack that indicates the size of the larger portion of data; disabling additional access to the hardware assisted stack such that only the first software routine is able to access the hardware assisted stack; executing the first software routine; identifying the larger portion of data offloaded to the hardware assisted stack based on the counter pushed onto the hardware assisted stack; and restoring the larger portion of data from the hardware assisted stack to the shared stack when the first software routine is executed.