Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-5277 [startup][performance] general optimizations
  3. HARMONY-5281

[drlvm][startup][performance][classloader] mapping bootstrap jars directly into memory

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: DRLVM
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      Bootstrap jar files mapping : we can deliver from a big amount of system calls (such as lseek, read etc) by mapping jars into memory via CreateFileMapping for windows and nmap for linux. Then we can work using pointer arithmetic only.
      The same can be done with classlib jars also..

      1. jarmapping.BCP.patch
        7 kB
        Naumova Natalya
      2. bootstrap_jar_mapping.patch
        11 kB
        Pavel Pervov

        Issue Links

          Activity

          Hide
          mcfirst Pavel Pervov added a comment -

          Committed revision 641169.

          VM option vm.map_bootstrap_jars can be used to turn mmap functionality on.

          Show
          mcfirst Pavel Pervov added a comment - Committed revision 641169. VM option vm.map_bootstrap_jars can be used to turn mmap functionality on.
          Hide
          mcfirst Pavel Pervov added a comment -

          Please, note, that memory footprint of DRLVM will increase by size of JRE, namely, ~20 megs.

          Show
          mcfirst Pavel Pervov added a comment - Please, note, that memory footprint of DRLVM will increase by size of JRE, namely, ~20 megs.
          Hide
          mcfirst Pavel Pervov added a comment -

          Here is a platform independent implementation of this optimization. I'm going to commit it as soon as my commit queue gets to this JIRA.

          Show
          mcfirst Pavel Pervov added a comment - Here is a platform independent implementation of this optimization. I'm going to commit it as soon as my commit queue gets to this JIRA.
          Hide
          leshik Alexei Fedotov added a comment -

          Hello, Natalya,
          There are plenty of comments in your patch and they are hardly readable. I would really appreciate if you make some of these comments more descriptive, and remove those which may confuse a reader.

          Show
          leshik Alexei Fedotov added a comment - Hello, Natalya, There are plenty of comments in your patch and they are hardly readable. I would really appreciate if you make some of these comments more descriptive, and remove those which may confuse a reader.
          Hide
          vbeliaev Vladimir Beliaev added a comment -

          The bootstrap processing is handled by classloader module, so the JIRA is better be named as [drlvm][classloader].

          Show
          vbeliaev Vladimir Beliaev added a comment - The bootstrap processing is handled by classloader module, so the JIRA is better be named as [drlvm] [classloader] .

            People

            • Assignee:
              mcfirst Pavel Pervov
              Reporter:
              nsnaumova Naumova Natalya
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development