1460712679-dc93aa51-4831-45fc-9ded-84c9f892f860

1. A method for determining a vulnerability of multi-threaded program code to soft errors, comprising:
by a computing device, performing operations for:
analyzing instructions for each of two or more threads in the program code to identify particular instructions from the two or more threads that perform predetermined accesses of one or more architectural structures;
while executing instructions from the program code, monitoring the executing to determine when the particular instructions are executed and therefore when corresponding predetermined accesses are performed;
determining a time for which the program code is exposed to soft errors based on a timing of the corresponding predetermined accesses by determining an amount of time when data is held in at least one of the one or more architectural structures, the data to be used for performing corresponding predetermined accesses for at least one of the particular instructions, the determining the amount of time comprising, for each of the one or more architectural structures, maintaining a corresponding vulnerability counter, a value in the vulnerability counter set using a time counter and a last-accessed counter, the last accessed counter being updated when corresponding predetermined accesses of the architectural structure occur; and
using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors.
2. The method of claim 1, wherein a predetermined access of the one or more architectural structures comprises:
acquiring data from at least one of the one or more architectural structures; and
using the acquired data to perform an operation, the operation effecting a state of at least one of a corresponding thread or the program code.
3. The method of claim 1, wherein using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors comprises:
by the computing device, performing operations for:
computing the vulnerability for the program code to soft errors as a ratio of the amount of time when data is held in at least one of the one or more architectural structures to an overall execution time for the program code.
4. The method of claim 1, wherein each of the one or more architectural structures comprises a corresponding structure defined in an instruction set architecture (ISA) for which the program code is written.
5. The method of claim 1, wherein analyzing the instructions for each of the two or more threads in the program code to identify the particular instructions in the two or more threads that perform the predetermined accesses of the one or more architectural structures comprises:
by the computing device, performing operations for:
statically analyzing instructions for each of the two or more threads in the program code.
6. A computing device that determines a vulnerability of multi-threaded program code to soft errors, comprising:
at least one processor core; and
a memory;
wherein the at least one processor core and the memory are configured to perform operations for:
analyzing instructions for each of two or more threads in the program code to identify particular instructions from the two or more threads that perform predetermined accesses of one or more architectural structures;
while executing instructions from the program code, monitoring the executing to determine when the particular instructions are executed and therefore when corresponding predetermined accesses are performed;
determining a time for which the program code is exposed to soft errors based on a timing of the corresponding predetermined accesses by determining an amount of time when data is held in at least one of the one or more architectural structures, the data to be used for performing corresponding predetermined accesses for at least one of the particular instructions, the determining the amount of time comprising, for each of the one or more architectural structures, maintaining a corresponding vulnerability counter, a value in the vulnerability counter set using a time counter and a last-accessed counter, the last accessed counter being updated when corresponding predetermined accesses of the architectural structure occur; and
using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors.
7. The computing device of claim 6, wherein a predetermined access of the one or more architectural structures comprises:
acquiring data from at least one of the one or more architectural structures; and
using the acquired data to perform an operation, the operation effecting a state of at least one of a corresponding thread or the program code.
8. The computing device of claim 6, wherein, when using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors, the at least one processor core and the memory are configured to perform operations for:
computing the vulnerability for the program code to soft errors as a ratio of the amount of time when data is held in at least one of the one or more architectural structures to an overall execution time for the program code.
9. The computing device of claim 6, each of the one or more architectural structures comprises a corresponding structure defined in an instruction set architecture (ISA) for which the program code is written.
10. The computing device of claim 6, wherein, when analyzing the instructions for each of the two or more threads in the program code to identify the particular instructions in the two or more threads that perform the predetermined accesses of the one or more architectural structures, the at least one processor core and the memory are configured to perform operations for:
statically analyzing instructions for each of the two or more threads in the program code.
11. A non-transitory computer-readable storage medium storing program code that, when executed by a computing device, causes the computing device to perform operations for determining a vulnerability of multi-threaded program code to soft errors, the operations comprising:
analyzing instructions for each of two or more threads in the program code to identify particular instructions from the two or more threads that perform predetermined accesses of one or more architectural structures;
while executing instructions from the program code, monitoring the executing to determine when the particular instructions are executed and therefore when corresponding predetermined accesses are performed;
determining a time for which the program code is exposed to soft errors based on a timing of the corresponding predetermined accesses by determining an amount of time when data is held in at least one of the one or more architectural structures, the data to be used for performing corresponding predetermined accesses for at least one of the particular instructions, the determining the amount of time comprising, for each of the one or more architectural structures, maintaining a corresponding vulnerability counter, a value in the vulnerability counter set using a time counter and a last-accessed counter, the last accessed counter being updated when corresponding predetermined accesses of the architectural structure occur; and
using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors.
12. The non-transitory computer-readable storage medium of claim 11, wherein a predetermined access of the one or more architectural structures comprises:
acquiring data from at least one of the one or more architectural structures; and
using the acquired data to perform an operation, the operation effecting a state of at least one of a corresponding thread or the program code.
13. The non-transitory computer-readable storage medium of claim 11, wherein using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors comprises:
computing the vulnerability for the program code to soft errors as a ratio of the amount of time when data is held in at least one of the one or more architectural structures to an overall execution time for the program code.
14. The non-transitory computer-readable storage medium of claim 11, each of the one or more architectural structures comprises a corresponding structure defined in an instruction set architecture (ISA) for which the program code is written.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A frame structure used in a backlight module comprising:
a lower frame for holding components of the backlight module; and
an upper frame mounted on the lower frame for assembling the components of the backlight module;
wherein the upper frame has at least one T shape hooking element, and restrains the movements of the components of the backlight module in both cross and upright directions simultaneously;
the lower frame has at least one corresponding engaging element that can engage with at least one T shape hooking element; the at least one engaging element corresponding to the T shape hook is a T shape groove;
and the movement of each T shape hooking element is limited by a longitudinal portion and at least a latitudinal portion of the engaging element when the hooking element is engaged.
2. The frame structure as claimed in claim 1, wherein at least one T shaped hooking element is located at a periphery of the upper frame.