Mercurial > hg > truffle
comparison src/share/vm/shark/sharkState.cpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | f95d63e2154a |
children | 2cd5e15048e6 |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright 2008, 2009 Red Hat, Inc. | 3 * Copyright 2008, 2009 Red Hat, Inc. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * | 5 * |
6 * This code is free software; you can redistribute it and/or modify it | 6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as | 7 * under the terms of the GNU General Public License version 2 only, as |
129 BasicBlock* this_block) { | 129 BasicBlock* this_block) { |
130 // Method | 130 // Method |
131 Value *this_method = this->method(); | 131 Value *this_method = this->method(); |
132 Value *other_method = other->method(); | 132 Value *other_method = other->method(); |
133 if (this_method != other_method) { | 133 if (this_method != other_method) { |
134 PHINode *phi = builder()->CreatePHI(SharkType::methodOop_type(), "method"); | 134 PHINode *phi = builder()->CreatePHI(SharkType::Method*_type(), "method"); |
135 phi->addIncoming(this_method, this_block); | 135 phi->addIncoming(this_method, this_block); |
136 phi->addIncoming(other_method, other_block); | 136 phi->addIncoming(other_method, other_block); |
137 set_method(phi); | 137 set_method(phi); |
138 } | 138 } |
139 | 139 |
285 BasicBlock *saved_insert_point = builder()->GetInsertBlock(); | 285 BasicBlock *saved_insert_point = builder()->GetInsertBlock(); |
286 builder()->SetInsertPoint(block->entry_block()); | 286 builder()->SetInsertPoint(block->entry_block()); |
287 char name[18]; | 287 char name[18]; |
288 | 288 |
289 // Method | 289 // Method |
290 set_method(builder()->CreatePHI(SharkType::methodOop_type(), "method")); | 290 set_method(builder()->CreatePHI(SharkType::Method*_type(), "method")); |
291 | 291 |
292 // Local variables | 292 // Local variables |
293 for (int i = 0; i < max_locals(); i++) { | 293 for (int i = 0; i < max_locals(); i++) { |
294 ciType *type = block->local_type_at_entry(i); | 294 ciType *type = block->local_type_at_entry(i); |
295 if (type->basic_type() == (BasicType) ciTypeFlow::StateVector::T_NULL) { | 295 if (type->basic_type() == (BasicType) ciTypeFlow::StateVector::T_NULL) { |