1. A method for dynamic optimizations using security assertions, comprising: initiating a runtime module on a computer, wherein the runtime module is configured to execute an application that includes a call stack having a plurality of sequential stack frames; performing, during the execution of the application in the runtime module, a first stack walk in response to a first runtime call into a first one of the plurality of sequential stack frames in the call stack including a first demand that requests at least one permission, wherein the first stack walk includes: evaluating the plurality of sequential stack frames in the call stack from the first stack frame that includes the first demand to a bottom of the call stack; granting the first demand for the at least one permission in response to all of the stack frames evaluated in the call first stack satisfying the at least one permission; and promoting the first demand for the at least one permission into an assertion for the at least one permission in response to granting the first demand and further in response to the at least one permission satisfying one or more predetermined conditions; and performing, during the execution of the application in the runtime module, a second stack walk in response to a second runtime call into a second one of the plurality of sequential stack frames in the call stack including a second demand that requests the at least one permission, wherein the second stack walk includes: evaluating the plurality of sequential stack frames in the call stack from the second stack frame that includes the second demand for the at least one permission to the first stack frame that includes the assertion for the at least one permission; and granting the second demand for the at least one permission in response to all of the stack frames evaluated in the call second stack walk satisfying the at least one permission.