1. A method executed by a decoder of a receiver device for decoding tail-biting convolutional codes, comprising: receiving at the receiver device a signal comprising a bit sequence encoded with a tail-biting convolutional code; initializing memory for all beginning states of a trellis used by the decoder when decoding the received bit sequence; calculating forward Viterbi metrics for the states of the trellis based on the received bit sequence; tracing back from an ending state of the trellis at a first time instance to a first state where the state of all forward and backward surviving paths is shared at a second time instance; calculating backward Viterbi metrics for a predetermined period of time from the first state at the second time instance to a second state at a third time instance; and tracing back from the second state at the third time instance to the first state at the second time instance to determine a most likely path for the convolutional codes in the trellis.