1. A method for managing instruction blocks in an instruction window disposed in a processor, comprising: maintaining a size table of instruction block sizes; reading an index encoded in a header of an instruction block, in which the instruction block includes one or more instructions; looking up an instruction block size from the size table using the index; and mapping the instruction block into an available slot in an instruction window based on the size look up in order to maximize instruction packing within the instruction window.