comparison src/share/vm/oops/klass.hpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 289a017dd9e2 386dd1c71858
children eaf39a954227
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
180 Klass(); 180 Klass();
181 181
182 void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw(); 182 void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw();
183 183
184 public: 184 public:
185 enum MethodLookupMode { normal, skip_overpass, skip_defaults };
186
185 bool is_klass() const volatile { return true; } 187 bool is_klass() const volatile { return true; }
186 188
187 // super 189 // super
188 Klass* super() const { return _super; } 190 Klass* super() const { return _super; }
189 void set_super(Klass* k) { _super = k; } 191 void set_super(Klass* k) { _super = k; }
419 virtual bool should_be_initialized() const { return false; } 421 virtual bool should_be_initialized() const { return false; }
420 // initializes the klass 422 // initializes the klass
421 virtual void initialize(TRAPS); 423 virtual void initialize(TRAPS);
422 // lookup operation for MethodLookupCache 424 // lookup operation for MethodLookupCache
423 friend class MethodLookupCache; 425 friend class MethodLookupCache;
424 virtual Method* uncached_lookup_method(Symbol* name, Symbol* signature) const; 426 virtual Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
425 public: 427 public:
426 Method* lookup_method(Symbol* name, Symbol* signature) const { 428 Method* lookup_method(Symbol* name, Symbol* signature) const {
427 return uncached_lookup_method(name, signature); 429 return uncached_lookup_method(name, signature, normal);
428 } 430 }
429 431
430 // array class with specific rank 432 // array class with specific rank
431 Klass* array_klass(int rank, TRAPS) { return array_klass_impl(false, rank, THREAD); } 433 Klass* array_klass(int rank, TRAPS) { return array_klass_impl(false, rank, THREAD); }
432 434
693 virtual void oop_print_on (oop obj, outputStream* st); 695 virtual void oop_print_on (oop obj, outputStream* st);
694 696
695 virtual const char* internal_name() const = 0; 697 virtual const char* internal_name() const = 0;
696 698
697 // Verification 699 // Verification
698 virtual void verify_on(outputStream* st, bool check_dictionary); 700 virtual void verify_on(outputStream* st);
699 void verify(bool check_dictionary = true) { verify_on(tty, check_dictionary); } 701 void verify() { verify_on(tty); }
700 702
701 #ifndef PRODUCT 703 #ifndef PRODUCT
702 bool verify_vtable_index(int index); 704 bool verify_vtable_index(int index);
703 bool verify_itable_index(int index); 705 bool verify_itable_index(int index);
704 #endif 706 #endif