equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2013, 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. |
54 ~HandleMarkCleaner() { |
54 ~HandleMarkCleaner() { |
55 _thread->last_handle_mark()->pop_and_restore(); |
55 _thread->last_handle_mark()->pop_and_restore(); |
56 } |
56 } |
57 |
57 |
58 private: |
58 private: |
59 inline void* operator new(size_t size, void* ptr) { |
59 inline void* operator new(size_t size, void* ptr) throw() { |
60 return ptr; |
60 return ptr; |
61 } |
61 } |
62 }; |
62 }; |
63 |
63 |
64 // InterfaceSupport provides functionality used by the VM_LEAF_BASE and |
64 // InterfaceSupport provides functionality used by the VM_LEAF_BASE and |
472 result_type header { \ |
472 result_type header { \ |
473 ThreadInVMfromJavaNoAsyncException __tiv(thread); \ |
473 ThreadInVMfromJavaNoAsyncException __tiv(thread); \ |
474 VM_ENTRY_BASE(result_type, header, thread) \ |
474 VM_ENTRY_BASE(result_type, header, thread) \ |
475 debug_only(VMEntryWrapper __vew;) |
475 debug_only(VMEntryWrapper __vew;) |
476 |
476 |
477 // Another special case for nmethod_entry_point so the nmethod that the |
|
478 // interpreter is about to branch to doesn't get flushed before as we |
|
479 // branch to it's interpreter_entry_point. Skip stress testing here too. |
|
480 // Also we don't allow async exceptions because it is just too painful. |
|
481 #define IRT_ENTRY_FOR_NMETHOD(result_type, header) \ |
|
482 result_type header { \ |
|
483 nmethodLocker _nmlock(nm); \ |
|
484 ThreadInVMfromJavaNoAsyncException __tiv(thread); \ |
|
485 VM_ENTRY_BASE(result_type, header, thread) |
|
486 |
|
487 #define IRT_END } |
477 #define IRT_END } |
488 |
478 |
489 |
479 |
490 // Definitions for JRT (Java (Compiler/Shared) Runtime) |
480 // Definitions for JRT (Java (Compiler/Shared) Runtime) |
491 |
481 |