Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/stubRoutines_x86_32.hpp @ 2245:638119ce7cfd
7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 01 Feb 2011 03:38:44 -0800 |
parents | f95d63e2154a |
children | 167b70ff3abc |
comparison
equal
deleted
inserted
replaced
2244:4f26f535a225 | 2245:638119ce7cfd |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2011, 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. |
42 class x86 { | 42 class x86 { |
43 friend class StubGenerator; | 43 friend class StubGenerator; |
44 friend class VMStructs; | 44 friend class VMStructs; |
45 | 45 |
46 private: | 46 private: |
47 // If we call compiled code directly from the call stub we will | |
48 // need to adjust the return back to the call stub to a specialized | |
49 // piece of code that can handle compiled results and cleaning the fpu | |
50 // stack. The variable holds that location. | |
51 static address _call_stub_compiled_return; | |
52 static address _verify_mxcsr_entry; | 47 static address _verify_mxcsr_entry; |
53 static address _verify_fpu_cntrl_wrd_entry; | 48 static address _verify_fpu_cntrl_wrd_entry; |
54 static jint _mxcsr_std; | |
55 | 49 |
56 public: | 50 public: |
57 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } | 51 static address verify_mxcsr_entry() { return _verify_mxcsr_entry; } |
58 static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } | 52 static address verify_fpu_cntrl_wrd_entry() { return _verify_fpu_cntrl_wrd_entry; } |
59 | |
60 static address get_call_stub_compiled_return() { return _call_stub_compiled_return; } | |
61 static void set_call_stub_compiled_return(address ret) { _call_stub_compiled_return = ret; } | |
62 }; | 53 }; |
63 | 54 |
64 static bool returns_to_call_stub(address return_pc) { return (return_pc == _call_stub_return_address) || | 55 static bool returns_to_call_stub(address return_pc) { return return_pc == _call_stub_return_address; } |
65 return_pc == x86::get_call_stub_compiled_return(); } | |
66 | 56 |
67 #endif // CPU_X86_VM_STUBROUTINES_X86_32_HPP | 57 #endif // CPU_X86_VM_STUBROUTINES_X86_32_HPP |