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