comparison src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp @ 4006:436b4a3231bf

7098194: integrate macosx-port changes Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29. Reviewed-by: kvn, dholmes, never, phh Contributed-by: Christos Zoulas <christos@zoulas.com>, Greg Lewis <glewis@eyesbeyond.com>, Kurt Miller <kurt@intricatesoftware.com>, Alexander Strange <astrange@apple.com>, Mike Swingler <swingler@apple.com>, Roger Hoover <rhoover@apple.com>, Victor Hernandez <vhernandez@apple.com>, Pratik Solanki <psolanki@apple.com>
author dcubed
date Thu, 13 Oct 2011 09:35:42 -0700
parents f08d439fab8c
children 5e9fba4e8718
comparison
equal deleted inserted replaced
4005:2ef3386478e6 4006:436b4a3231bf
273 # define context_trapno uc_mcontext.__gregs[_REG_TRAPNO] 273 # define context_trapno uc_mcontext.__gregs[_REG_TRAPNO]
274 # endif 274 # endif
275 #endif 275 #endif
276 276
277 address os::current_stack_pointer() { 277 address os::current_stack_pointer() {
278 #ifdef SPARC_WORKS 278 #if defined(__clang__) || defined(__llvm__)
279 register void *esp;
280 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
281 return (address) esp;
282 #elif defined(SPARC_WORKS)
279 register void *esp; 283 register void *esp;
280 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp)); 284 __asm__("mov %%"SPELL_REG_SP", %0":"=r"(esp));
281 return (address) ((char*)esp + sizeof(long)*2); 285 return (address) ((char*)esp + sizeof(long)*2);
282 #else 286 #else
283 register void *esp __asm__ (SPELL_REG_SP); 287 register void *esp __asm__ (SPELL_REG_SP);
356 frame os::get_sender_for_C_frame(frame* fr) { 360 frame os::get_sender_for_C_frame(frame* fr) {
357 return frame(fr->sender_sp(), fr->link(), fr->sender_pc()); 361 return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
358 } 362 }
359 363
360 intptr_t* _get_previous_fp() { 364 intptr_t* _get_previous_fp() {
361 #ifdef SPARC_WORKS 365 #if defined(SPARC_WORKS) || defined(__clang__)
362 register intptr_t **ebp; 366 register intptr_t **ebp;
363 __asm__("mov %%"SPELL_REG_FP", %0":"=r"(ebp)); 367 __asm__("mov %%"SPELL_REG_FP", %0":"=r"(ebp));
364 #else 368 #else
365 register intptr_t **ebp __asm__ (SPELL_REG_FP); 369 register intptr_t **ebp __asm__ (SPELL_REG_FP);
366 #endif 370 #endif