Print this page
rev 1838 : 6961690: load oops from constant table on SPARC
Summary: oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by:

Split Close
Expand all
Collapse all
          --- old/src/share/vm/opto/node.hpp
          +++ new/src/share/vm/opto/node.hpp
   1    1  /*
   2      - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
        2 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
   3    3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4   *
   5    5   * This code is free software; you can redistribute it and/or modify it
   6    6   * under the terms of the GNU General Public License version 2 only, as
   7    7   * published by the Free Software Foundation.
   8    8   *
   9    9   * This code is distributed in the hope that it will be useful, but WITHOUT
  10   10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12   * version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 53 lines elided ↑ open up ↑
  66   66  class LoadNode;
  67   67  class LoadStoreNode;
  68   68  class LockNode;
  69   69  class LoopNode;
  70   70  class MachCallDynamicJavaNode;
  71   71  class MachCallJavaNode;
  72   72  class MachCallLeafNode;
  73   73  class MachCallNode;
  74   74  class MachCallRuntimeNode;
  75   75  class MachCallStaticJavaNode;
       76 +class MachConstantBaseNode;
       77 +class MachConstantNode;
  76   78  class MachIfNode;
  77   79  class MachNode;
  78   80  class MachNullCheckNode;
  79   81  class MachReturnNode;
  80   82  class MachSafePointNode;
  81   83  class MachSpillCopyNode;
  82   84  class MachTempNode;
  83   85  class Matcher;
  84   86  class MemBarNode;
  85   87  class MemNode;
↓ open down ↓ 465 lines elided ↑ open up ↑
 551  553  
 552  554      DEFINE_CLASS_ID(Mach,  Node, 1)
 553  555        DEFINE_CLASS_ID(MachReturn, Mach, 0)
 554  556          DEFINE_CLASS_ID(MachSafePoint, MachReturn, 0)
 555  557            DEFINE_CLASS_ID(MachCall, MachSafePoint, 0)
 556  558              DEFINE_CLASS_ID(MachCallJava,         MachCall, 0)
 557  559                DEFINE_CLASS_ID(MachCallStaticJava,   MachCallJava, 0)
 558  560                DEFINE_CLASS_ID(MachCallDynamicJava,  MachCallJava, 1)
 559  561              DEFINE_CLASS_ID(MachCallRuntime,      MachCall, 1)
 560  562                DEFINE_CLASS_ID(MachCallLeaf,         MachCallRuntime, 0)
 561      -      DEFINE_CLASS_ID(MachSpillCopy, Mach, 1)
 562      -      DEFINE_CLASS_ID(MachNullCheck, Mach, 2)
 563      -      DEFINE_CLASS_ID(MachIf,        Mach, 3)
 564      -      DEFINE_CLASS_ID(MachTemp,      Mach, 4)
      563 +      DEFINE_CLASS_ID(MachSpillCopy,    Mach, 1)
      564 +      DEFINE_CLASS_ID(MachNullCheck,    Mach, 2)
      565 +      DEFINE_CLASS_ID(MachIf,           Mach, 3)
      566 +      DEFINE_CLASS_ID(MachTemp,         Mach, 4)
      567 +      DEFINE_CLASS_ID(MachConstantBase, Mach, 5)
      568 +      DEFINE_CLASS_ID(MachConstant,     Mach, 6)
 565  569  
 566  570      DEFINE_CLASS_ID(Proj,  Node, 2)
 567  571        DEFINE_CLASS_ID(CatchProj, Proj, 0)
 568  572        DEFINE_CLASS_ID(JumpProj,  Proj, 1)
 569  573        DEFINE_CLASS_ID(IfTrue,    Proj, 2)
 570  574        DEFINE_CLASS_ID(IfFalse,   Proj, 3)
 571  575        DEFINE_CLASS_ID(Parm,      Proj, 4)
 572  576  
 573  577      DEFINE_CLASS_ID(Region, Node, 3)
 574  578        DEFINE_CLASS_ID(Loop, Region, 0)
↓ open down ↓ 144 lines elided ↑ open up ↑
 719  723    DEFINE_CLASS_QUERY(LoadStore)
 720  724    DEFINE_CLASS_QUERY(Lock)
 721  725    DEFINE_CLASS_QUERY(Loop)
 722  726    DEFINE_CLASS_QUERY(Mach)
 723  727    DEFINE_CLASS_QUERY(MachCall)
 724  728    DEFINE_CLASS_QUERY(MachCallDynamicJava)
 725  729    DEFINE_CLASS_QUERY(MachCallJava)
 726  730    DEFINE_CLASS_QUERY(MachCallLeaf)
 727  731    DEFINE_CLASS_QUERY(MachCallRuntime)
 728  732    DEFINE_CLASS_QUERY(MachCallStaticJava)
      733 +  DEFINE_CLASS_QUERY(MachConstantBase)
      734 +  DEFINE_CLASS_QUERY(MachConstant)
 729  735    DEFINE_CLASS_QUERY(MachIf)
 730  736    DEFINE_CLASS_QUERY(MachNullCheck)
 731  737    DEFINE_CLASS_QUERY(MachReturn)
 732  738    DEFINE_CLASS_QUERY(MachSafePoint)
 733  739    DEFINE_CLASS_QUERY(MachSpillCopy)
 734  740    DEFINE_CLASS_QUERY(MachTemp)
 735  741    DEFINE_CLASS_QUERY(Mem)
 736  742    DEFINE_CLASS_QUERY(MemBar)
 737  743    DEFINE_CLASS_QUERY(MergeMem)
 738  744    DEFINE_CLASS_QUERY(Mul)
↓ open down ↓ 818 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX