Uploaded image for project: 'JikesRVM'
  1. RVM-797

PreciseType is set when creating thread temporary registers in the opt compiler

    Details

      Description

      We create thread register operands in the opt compiler by setting the precise type, which is incorrect for any threads that are subclasses of RVMThread (collector threads, etc.).

      This has caused very non-intuitive bugs for me when working with collector threads in the refactor.

      We probably want to try turning off the precise type and looking at performance. If performance suffers I suggest just putting the collectorContext in RVMThread, making it final and having our system threads just contain an RVMThread rather than being one.

      The problem code:

      public RegisterOperand makeTROp()

      { RegisterOperand trOp = new RegisterOperand(physical.getTR(), TypeReference.Thread); trOp.setPreciseType(); return trOp; }

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              zyridium Daniel Frampton
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: