Print this page


Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/memory/universe.hpp
          +++ new/src/share/vm/memory/universe.hpp
   1    1  /*
   2      - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
        2 + * Copyright (c) 1997, 2016, 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 ↓ 227 lines elided ↑ open up ↑
 240  240    }
 241  241    static void     set_narrow_oop_use_implicit_null_checks(bool use) {
 242  242      assert(UseCompressedOops, "no compressed ptrs?");
 243  243      _narrow_oop._use_implicit_null_checks   = use;
 244  244    }
 245  245  
 246  246    // Debugging
 247  247    static int _verify_count;                           // number of verifies done
 248  248    // True during call to verify().  Should only be set/cleared in verify().
 249  249    static bool _verify_in_progress;
      250 +  static long verify_flags;
 250  251  
 251  252    static void compute_verify_oop_data();
 252  253  
 253  254   public:
 254  255    // Known classes in the VM
 255  256    static Klass* boolArrayKlassObj()                 { return _boolArrayKlassObj;   }
 256  257    static Klass* byteArrayKlassObj()                 { return _byteArrayKlassObj;   }
 257  258    static Klass* charArrayKlassObj()                 { return _charArrayKlassObj;   }
 258  259    static Klass* intArrayKlassObj()                  { return _intArrayKlassObj;    }
 259  260    static Klass* shortArrayKlassObj()                { return _shortArrayKlassObj;  }
↓ open down ↓ 158 lines elided ↑ open up ↑
 418  419    static void serialize(SerializeClosure* f, bool do_all = false);
 419  420  
 420  421    // Apply "f" to all klasses for basic types (classes not present in
 421  422    // SystemDictionary).
 422  423    static void basic_type_classes_do(void f(Klass*));
 423  424  
 424  425    // For sharing -- fill in a list of known vtable pointers.
 425  426    static void init_self_patching_vtbl_list(void** list, int count);
 426  427  
 427  428    // Debugging
      429 +  enum VERIFY_FLAGS {
      430 +    Verify_Threads = 1,
      431 +    Verify_Heap = 2,
      432 +    Verify_SymbolTable = 4,
      433 +    Verify_StringTable = 8,
      434 +    Verify_CodeCache = 16,
      435 +    Verify_SystemDictionary = 32,
      436 +    Verify_ClassLoaderDataGraph = 64,
      437 +    Verify_MetaspaceAux = 128,
      438 +    Verify_JNIHandles = 256,
      439 +    Verify_CHeap = 512,
      440 +    Verify_CodeCacheOops = 1024,
      441 +    Verify_All = -1
      442 +  };
      443 +  static void initialize_verify_flags();
      444 +  static bool should_verify_subset(uint subset);
 428  445    static bool verify_in_progress() { return _verify_in_progress; }
 429  446    static void verify(VerifyOption option, const char* prefix, bool silent = VerifySilently);
 430  447    static void verify(const char* prefix, bool silent = VerifySilently) {
 431  448      verify(VerifyOption_Default, prefix, silent);
 432  449    }
 433  450    static void verify(bool silent = VerifySilently) {
 434  451      verify("", silent);
 435  452    }
 436  453  
 437  454    static int  verify_count()       { return _verify_count; }
↓ open down ↓ 60 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX