Mercurial > hg > truffle
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 |