equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2014, 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. |
274 # define context_eflags uc_mcontext.__gregs[_REG_EFL] |
274 # define context_eflags uc_mcontext.__gregs[_REG_EFL] |
275 # define context_trapno uc_mcontext.__gregs[_REG_TRAPNO] |
275 # define context_trapno uc_mcontext.__gregs[_REG_TRAPNO] |
276 # endif |
276 # endif |
277 #endif |
277 #endif |
278 |
278 |
|
279 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
|
280 |
279 address os::current_stack_pointer() { |
281 address os::current_stack_pointer() { |
280 #if defined(__clang__) || defined(__llvm__) |
282 #if defined(__clang__) || defined(__llvm__) |
281 register void *esp; |
283 register void *esp; |
282 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp)); |
284 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp)); |
283 return (address) esp; |
285 return (address) esp; |