1. A method, comprising
identifying a hot code trace of a program,
determining a completion ratio for the hot code trace, and
packaging the hot code trace into a transactional memory region in response to the completion ratio having a predetermined relationship to a threshold ratio.
2. The method of claim 1, further comprising performing one or more code optimizations on the hot code trace of the transactional memory region.
3. The method of claim 1, further comprising
identifying a beginning, an end and one or more side exits of the hot code trace,
associating a transaction start of the transaction memory region with the beginning of the hot code trace,
associating a transaction commit of the transaction memory region with the end of the hot code trace, and
associating a transaction abort of the transaction memory region with each of the one or more side exits.
4. The method of claim 1, further comprising
identifying an unconditional branch that targets a prior instruction of the hot code trace,
identifying a most taken exit from the hot code trace, and other exits from the hot code trace,
associating a transaction start of the transaction memory region with an instruction before the instruction targeted by the unconditional branch,
associating a transaction commit of the transaction memory region with the most taken exit from the hot code trace, and
associating a transaction abort of the transaction memory region with each of the other exits from the hot code trace.
5. The method of claim 1, further comprising
identifying a conditional branch that targets a prior instruction of the hot code trace,
identifying exits from the hot code trace,
associating a transaction start of the transaction memory region with an instruction before the instruction targeted by the conditional branch,
associating a transaction commit of the transaction memory region with an instruction after the conditional branch, and
associating a transaction abort of the transaction memory region with each exit from the hot code trace.
6. The method of claim 5, further comprising unrolling a loop of the hot code trace if the hot code trace comprises less than a threshold number of instructions.
7. The method of claim 1, comprising packaging the hot code trace into the transactional memory region in response to the completion ratio for the hot code trace being at least 90 percent.
8. A machine readable medium comprising a plurality of instructions that, in response to being executed, result in a computing device dynamically translating portions of a compiled program to transactional memory regions, and executing the transactional memory regions, wherein dynamically translating portions of the compiled program comprises
identifying a hot code trace of the compiled program in response to executing the compiled program,
determining a completion ratio for the hot code trace in response to executing the compiled program, and
packaging the hot code trace into a into a set of operations whose results are to be committed atomically in response to the completion ratio having a predetermined relationship to a threshold ratio.
9. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device
identifying exits from the hot code trace to off-trace blocks, and
placing counters in the off-trace blocks to track the completion ratio of the hot code trace.
10. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device performing one or more code optimizations on the hot code trace.
11. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device
identifying a beginning, an end and one or more side exits of the hot code trace,
associating a transaction start with the beginning of the hot code trace,
associating a transaction commit with the end of the hot code trace, and
associating a transaction abort with each of the one or more side exits.
12. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device
identifying an unconditional branch that targets a prior instruction of the hot code trace,
identifying a most taken exit from the hot code trace, and other exits from the hot code trace,
associating a transaction start with an instruction before the instruction targeted by the unconditional branch,
associating a transaction commit with the most taken exit from the hot code trace, and
associating a transaction abort with each of the other exits from the hot code trace.
13. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device
identifying a conditional branch that targets a prior instruction of the hot code trace,
identifying exits from the hot code trace,
associating a transaction start with an instruction before the instruction targeted by the conditional branch,
associating a transaction commit with an instruction after the conditional branch, and
associating a transaction abort with each exit from the hot code trace.
14. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device unrolling a loop of the hot code trace if the hot code trace comprises less than a threshold number of instructions.
15. The machine readable medium of claim 8 wherein the plurality of instructions further result in the computing device packaging the hot code trace in response to the completion ratio for the hot code trace being at least 90 percent.
16. A computing device, comprising
a processor, and
a machine readable medium comprising a plurality of instructions that in response to being executed result in the processor
identifying a hot code trace of a program,
determining a completion ratio for the hot code trace, and
packaging the hot code trace into a transactional memory region in response to the completion ratio having a predetermined relationship to a threshold ratio.
17. The computing device of claim 16, wherein the plurality of instructions, in response to being executed, further result in the processor performing one or more code optimizations on the hot code trace of the transactional memory region.
18. The computing device of claim 17, wherein the plurality of instructions, in response to being executed, further result in the processor
identifying a beginning, an end and one or more side exits of the hot code trace,
associating a transaction start of the transaction memory region with the beginning of the hot code trace,
associating a transaction commit of the transaction memory region with the end of the hot code trace, and
associating a transaction abort of the transaction memory region with each of the one or more side exits.
19. The computing device of claim 17, wherein the plurality of instructions, in response to being executed, further result in the processor
identifying an unconditional branch that targets a prior instruction of the hot code trace,
identifying a most taken exit from the hot code trace, and other exits from the hot code trace,
associating a transaction start of the transaction memory region with an instruction before the instruction targeted by the unconditional branch,
associating a transaction commit of the transaction memory region with the most taken exit from the hot code trace, and
associating a transaction abort of the transaction memory region with each of the other exits from the hot code trace.
20. The computing device of claim 17, wherein the plurality of instructions, in response to being executed, further result in the processor
identifying a conditional branch that targets a prior instruction of the hot code trace,
identifying exits from the hot code trace,
associating a transaction start of the transaction memory region with an instruction before the instruction targeted by the conditional branch,
associating a transaction commit of the transaction memory region with an instruction after the conditional branch, and
associating a transaction abort of the transaction memory region with each exit from the hot code trace.
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 method for ultrasound imaging of anatomical tissue, comprising the steps of:
a) receiving a first signal of a first imaging ultrasound wave which has been reflected from a location in the anatomical tissue during a first time period;
b) receiving a second signal of a second imaging ultrasound wave which has been reflected from the location in the anatomical tissue at a later second time period following a discrete medical treatment;
c) subtracting the second signal from the first signal to derive a difference signal;
d) generating an indication from the difference signal, the indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.
2. The method of claim 1 wherein the first and second signals are received after the discrete medical treatment has been completed.
3. The method of claim 1 wherein the first signal is received before the discrete medical treatment, and the second signal is received after the discrete medical treatment has been completed.
4. The method of claim 1, further comprising the step of processing the first and second signals.
5. The method of claim 4, further comprising the step of multiplying at least one of the first and second signals by a phase compensation function to reduce motion artifacts.
6. The method of claim 1, further comprising the step of scaling the difference signal.
7. The method of claim 6 wherein the difference signal is scaled by squaring the amplitude of the difference signal.
8. The method of claim 1, further comprising the step of spatially filtering the difference signal.
9. The method of claim 1, wherein the medical treatment is ultrasound medical treatment.
10. The method of claim 1, also including the steps a) through d) for different locations to image the anatomical tissue, wherein the image includes medically-treated locations and medically-untreated locations of the anatomical tissue.
11. The method of claim 1, further comprising the step of combining the difference signal image with a second image of the location in the anatomical tissue.
12. The method of claim 11 wherein the second image is generated using a B-Mode ultrasound scan.
13. A method for ultrasound imaging of anatomical tissue, comprising the steps of:
a) receiving a first signal of a first imaging ultrasound wave which has been reflected from a location in the anatomical tissue during a first time period;
b) receiving a second signal of a second imaging ultrasound wave which has been reflected from the location in the anatomical tissue at a later second time period following a discrete medical treatment;
c) processing the first and second signals;
d) subtracting the second signal from the first signal to derive a difference signal;
e) scaling the difference signal;
f) spatially filtering the difference signal; and
g) generating an indication from the difference signal, the indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.
14. The method of claim 13 wherein the first and second signals are received after the discrete medical treatment has been completed.
15. The method of claim 13 wherein the first signal is received before the discrete medical treatment and the second signal is received after the discrete medical treatment.
16. A method for ultrasound imaging of anatomical tissue, comprising the steps of:
a) receiving a first set of image frames comprising a plurality of imaging ultrasound wave signals which have been reflected from a location in the anatomical tissue during a first period of time;
b) receiving a second set of image frames comprising a plurality of imaging ultrasound wave signals which have been reflected from the location in the anatomical tissue during a later second period of time following a discrete medical treatment;
c) subtracting the imaging ultrasound signals of the second set of image frames from the imaging ultrasound signals of the first set of image frames to derive a difference signal; and
d) generating an indication from the difference signal, the indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.
17. The method of claim 16 wherein the first and second sets of image frames are received after the discrete medical treatment has been completed.
18. The method of claim 16 wherein the first set of image frames is received before the discrete medical treatment, and the second set of image frames is received after the discrete medical treatment.
19. The method of claim 16, further comprising the step of processing the first and second sets of signals.
20. The method of claim 16, further comprising the step of scaling the difference signal.
21. The method of claim 20 wherein the difference signal is scaled by squaring the amplitude of the difference signal.
22. The method of claim 16, further comprising the step of spatially filtering the difference signal.
23. The method of claim 16, wherein the medical treatment is ultrasound medical treatment.
24. The method of claim 16, also including the steps a) through d) for different locations to image the anatomical tissue, wherein the image includes medically-treated locations and medically-untreated locations of the anatomical tissue.
25. A method for ultrasound imaging of anatomical tissue, comprising the steps of:
a) receiving a first set of image frames comprising a plurality of imaging ultrasound wave signals which have been reflected from a location in the anatomical tissue during a first period of time;
b) receiving a second set of image frames comprising a plurality of imaging ultrasound wave signals which have been reflected from the location in the anatomical tissue during a later second period of time following a discrete medical treatment;
c) processing the first and second sets of signals;
d) subtracting the imaging ultrasound signals of the second set of image frames from the ultrasound signals of the first set of image frames to derive a difference signal;
e) scaling the difference signal;
f) spatially filtering the difference signal; and
g) generating an indication from the difference signal, the indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.
26. The method of claim 25 wherein the first and second sets of image frames are received after the discrete medical treatment has been completed.
27. The method of claim 25 wherein the first set of image frames is received before the discrete medical treatment, and the second set of image frames is received after the discrete medical treatment.
28. The method of claim 25 wherein the medical treatment is ultrasound medical treatment.
29. The method of claim 25, also including the steps a) through g) for different locations to image the anatomical tissue, wherein the image includes medically-treated locations and medically-untreated locations of the anatomical tissue.
30. A method for ultrasound imaging of anatomical tissue, comprising the steps of:
a) providing a discrete medical treatment to the anatomical tissue;
b) receiving a set of image frames comprising a plurality of imaging ultrasound wave signals which have been reflected from a location in the anatomical tissue;
c) pairing together a plurality of image frames, each pair comprising a first image frame and a second image frame such that the second image frame has been reflected from a location in the anatomical tissue at a later time than the first image frame;
d) subtracting the signals of the second image frame from the signals of the first image frame, for each pair of image frames in the image frame set, to derive a set of difference signals;
e) using at least one difference signal to generate an indication showing the effect of the discrete medical treatment in the location in the anatomical tissue; and
f) repeating steps a) through e) until medical treatment is completed.
31. The method of claim 30, further comprising the steps of:
a) computing an average of the set of difference signals; and
b) using the average of the set of difference signals to generate an indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.
32. The method of claim 31, further comprising the steps of:
a) cumulatively summing the averages of the set of difference signals; and
b) using the cumulative sum of averages of the set of difference signals to generate an indication showing the effect of the discrete medical treatment in the location in the anatomical tissue.