lethal injection is the method of execution used in most states.
what method of execution is used in most states?
lethal injection
although the electric chair has long been a symbol of the death penalty in the united states, its use is in decline due to the rise of lethal injection, which is widely believed to be a more humane method of execution. while some states still maintain electrocution as a method of execution, today it is only maintained as a secondary method that may be chosen over lethal injection at the request of the prisoner, except in tennessee, where it may be used without input from the prisoner if the drugs for lethal injection are not available. as of 2014, electrocution is an optional form of execution in the states of alabama, florida, south carolina, and virginia, all of which allow the prisoner to choose lethal injection as an alternative method. in the state of kentucky, the electric chair has been retired, except for those whose capital crimes were committed prior to march 31, 1998, and who choose electrocution; inmates who do not choose electrocution and inmates who committed their crimes after the designated date are executed by lethal injection. electrocution is also authorized in kentucky in the event that lethal injection is found unconstitutional by a court. the electric chair is an alternate form of execution approved for potential use in arkansas, mississippi, and oklahoma if other forms of execution are found unconstitutional in the state at the time of execution.
electric chair
real smalltalk implementations often use a technique known as inline caching that makes method dispatch very fast. inline caching basically stores the previous destination method address and object class of the call site (or multiple pairs for multi-way caching). the cached method is initialized with the most common target method (or just the cache miss handler), based on the method selector. when the method call site is reached during execution, it just calls the address in the cache. (in a dynamic code generator, this call is a direct call as the direct address is back patched by cache miss logic.) prologue code in the called method then compares the cached class with the actual object class, and if they don't match, execution branches to a cache miss handler to find the correct method in the class. a fast implementation may have multiple cache entries and it often only takes a couple of instructions to get execution to the correct method on an initial cache miss. the common case will be a cached class match, and execution will just continue in the method.
dynamic dispatch