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. |
26 #define SHARE_VM_OOPS_GENERATEOOPMAP_HPP |
26 #define SHARE_VM_OOPS_GENERATEOOPMAP_HPP |
27 |
27 |
28 #include "interpreter/bytecodeStream.hpp" |
28 #include "interpreter/bytecodeStream.hpp" |
29 #include "memory/allocation.inline.hpp" |
29 #include "memory/allocation.inline.hpp" |
30 #include "memory/universe.inline.hpp" |
30 #include "memory/universe.inline.hpp" |
31 #include "oops/methodOop.hpp" |
31 #include "oops/method.hpp" |
32 #include "oops/oopsHierarchy.hpp" |
32 #include "oops/oopsHierarchy.hpp" |
33 #include "runtime/signature.hpp" |
33 #include "runtime/signature.hpp" |
34 |
34 |
35 // Forward definition |
35 // Forward definition |
36 class MethodOopMap; |
|
37 class GenerateOopMap; |
36 class GenerateOopMap; |
38 class BasicBlock; |
37 class BasicBlock; |
39 class CellTypeState; |
38 class CellTypeState; |
40 class StackMap; |
39 class StackMap; |
41 |
40 |
469 void compute_map(TRAPS); |
468 void compute_map(TRAPS); |
470 void result_for_basicblock(int bci); // Do a callback on fill_stackmap_for_opcodes for basicblock containing bci |
469 void result_for_basicblock(int bci); // Do a callback on fill_stackmap_for_opcodes for basicblock containing bci |
471 |
470 |
472 // Query |
471 // Query |
473 int max_locals() const { return _max_locals; } |
472 int max_locals() const { return _max_locals; } |
474 methodOop method() const { return _method(); } |
473 Method* method() const { return _method(); } |
475 methodHandle method_as_handle() const { return _method; } |
474 methodHandle method_as_handle() const { return _method; } |
476 |
475 |
477 bool did_rewriting() { return _did_rewriting; } |
476 bool did_rewriting() { return _did_rewriting; } |
478 bool did_relocation() { return _did_relocation; } |
477 bool did_relocation() { return _did_relocation; } |
479 |
478 |