Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5050580

Replace IcoResult with a more portable mechanism

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P5 P5
    • 6
    • 1.5.1
    • hotspot
    • None
    • b28
    • generic
    • generic


      The IcoResult is used to pass back a result when an invocation overflow
      occurs. This result returns a struct on 64 bit architectures and
      has caused a couple of bugs (c.f. 5044946). It'd be better to use a
      mechanism that doesn't react so tightly with the native abi.

      Here's a comment from another developer about this issue:

      Here is a complaint not about your fix but about the original choices
      which forced us to use such a buffer. It is bug-prone to cater to wierd
      platform-specific calling sequences like this. There is an excellent
      chance that we haven't fixed the last bug pertaining to IcoResult.

      It would be much better to use a portable mechanism akin to
      Thread::vm_result ('Thread::vm_result_word' vs. 'Thread::vm_result_oop',
      perhaps) to handle the occasional extra return word.

      Looking at the SCCS logs, it appears the IcoResult convention was
      introduced in 1/2000 as part of a 64-bit porting effort, so my complaint
      is very tardy.... Better late than never. Should be cleaned up for 1.5++.

            sgoldman Steve Goldman (Inactive)
            sgoldman Steve Goldman (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: