Print this page
rev 1839 : 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/c2_globals.hpp
          +++ new/src/share/vm/opto/c2_globals.hpp
   1    1  /*
   2      - * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
        2 + * Copyright (c) 2000, 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 ↓ 244 lines elided ↑ open up ↑
 257  257    product_pd(intx, ConditionalMoveLimit,                                    \
 258  258            "Limit of ops to make speculative when using CMOVE")              \
 259  259                                                                              \
 260  260    /* Set BranchOnRegister == false. See 4965987. */                         \
 261  261    product(bool, BranchOnRegister, false,                                    \
 262  262            "Use Sparc V9 branch-on-register opcodes")                        \
 263  263                                                                              \
 264  264    develop(bool, SparcV9RegsHiBitsZero, true,                                \
 265  265            "Assume Sparc V9 I&L registers on V8+ systems are zero-extended") \
 266  266                                                                              \
      267 +  product_pd(bool, ConstantTableAbsoluteAddressing,                         \
      268 +             "Whether constant addressing is using absolute addressing.")   \
      269 +                                                                            \
      270 +  product(bool, UseRDPCForConstantTableBase, false,                         \
      271 +          "Use Sparc RDPC instruction for the constant table base.")        \
      272 +                                                                            \
 267  273    develop(intx, PrintIdealGraphLevel, 0,                                    \
 268  274            "Print ideal graph to XML file / network interface. "             \
 269  275            "By default attempts to connect to the visualizer on a socket.")  \
 270  276                                                                              \
 271  277    develop(intx, PrintIdealGraphPort, 4444,                                  \
 272  278            "Ideal graph printer to network port")                            \
 273  279                                                                              \
 274  280    notproduct(ccstr, PrintIdealGraphAddress, "127.0.0.1",                    \
 275  281            "IP address to connect to visualizer")                            \
 276  282                                                                              \
↓ open down ↓ 164 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX