1 /* |
1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2012, 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. |
3352 |
3352 |
3353 // We can now create the basic klassOop for this klass |
3353 // We can now create the basic klassOop for this klass |
3354 klassOop ik = oopFactory::new_instanceKlass(name, vtable_size, itable_size, |
3354 klassOop ik = oopFactory::new_instanceKlass(name, vtable_size, itable_size, |
3355 static_field_size, |
3355 static_field_size, |
3356 total_oop_map_count, |
3356 total_oop_map_count, |
|
3357 access_flags, |
3357 rt, CHECK_(nullHandle)); |
3358 rt, CHECK_(nullHandle)); |
3358 instanceKlassHandle this_klass (THREAD, ik); |
3359 instanceKlassHandle this_klass (THREAD, ik); |
3359 |
3360 |
3360 assert(this_klass->static_field_size() == static_field_size, "sanity"); |
3361 assert(this_klass->static_field_size() == static_field_size, "sanity"); |
3361 assert(this_klass->nonstatic_oop_map_count() == total_oop_map_count, |
3362 assert(this_klass->nonstatic_oop_map_count() == total_oop_map_count, |
3362 "sanity"); |
3363 "sanity"); |
3363 |
3364 |
3364 // Fill in information already parsed |
3365 // Fill in information already parsed |
3365 this_klass->set_access_flags(access_flags); |
|
3366 this_klass->set_should_verify_class(verify); |
3366 this_klass->set_should_verify_class(verify); |
3367 jint lh = Klass::instance_layout_helper(instance_size, false); |
3367 jint lh = Klass::instance_layout_helper(instance_size, false); |
3368 this_klass->set_layout_helper(lh); |
3368 this_klass->set_layout_helper(lh); |
3369 assert(this_klass->oop_is_instance(), "layout is correct"); |
3369 assert(this_klass->oop_is_instance(), "layout is correct"); |
3370 assert(this_klass->size_helper() == instance_size, "correct size_helper"); |
3370 assert(this_klass->size_helper() == instance_size, "correct size_helper"); |