Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/interfaceSupport.hpp @ 5903:da4be62fb889
7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Summary: check stack alignment on VM entry on x64.
Reviewed-by: kvn, never
author | roland |
---|---|
date | Mon, 27 Feb 2012 09:17:44 +0100 |
parents | a6eef545f1a2 |
children | b9a9ed0f8eeb |
comparison
equal
deleted
inserted
replaced
5902:c7987cbaf2ca | 5903:da4be62fb889 |
---|---|
434 // LEAF routines do not lock, GC or throw exceptions | 434 // LEAF routines do not lock, GC or throw exceptions |
435 | 435 |
436 #define VM_LEAF_BASE(result_type, header) \ | 436 #define VM_LEAF_BASE(result_type, header) \ |
437 TRACE_CALL(result_type, header) \ | 437 TRACE_CALL(result_type, header) \ |
438 debug_only(NoHandleMark __hm;) \ | 438 debug_only(NoHandleMark __hm;) \ |
439 os::verify_stack_alignment(); \ | |
439 /* begin of body */ | 440 /* begin of body */ |
440 | 441 |
441 | 442 |
442 // ENTRY routines may lock, GC and throw exceptions | 443 // ENTRY routines may lock, GC and throw exceptions |
443 | 444 |
444 #define VM_ENTRY_BASE(result_type, header, thread) \ | 445 #define VM_ENTRY_BASE(result_type, header, thread) \ |
445 TRACE_CALL(result_type, header) \ | 446 TRACE_CALL(result_type, header) \ |
446 HandleMarkCleaner __hm(thread); \ | 447 HandleMarkCleaner __hm(thread); \ |
447 Thread* THREAD = thread; \ | 448 Thread* THREAD = thread; \ |
449 os::verify_stack_alignment(); \ | |
448 /* begin of body */ | 450 /* begin of body */ |
449 | 451 |
450 | 452 |
451 // QUICK_ENTRY routines behave like ENTRY but without a handle mark | 453 // QUICK_ENTRY routines behave like ENTRY but without a handle mark |
452 | 454 |
453 #define VM_QUICK_ENTRY_BASE(result_type, header, thread) \ | 455 #define VM_QUICK_ENTRY_BASE(result_type, header, thread) \ |
454 TRACE_CALL(result_type, header) \ | 456 TRACE_CALL(result_type, header) \ |
455 debug_only(NoHandleMark __hm;) \ | 457 debug_only(NoHandleMark __hm;) \ |
456 Thread* THREAD = thread; \ | 458 Thread* THREAD = thread; \ |
459 os::verify_stack_alignment(); \ | |
457 /* begin of body */ | 460 /* begin of body */ |
458 | 461 |
459 | 462 |
460 // Definitions for IRT (Interpreter Runtime) | 463 // Definitions for IRT (Interpreter Runtime) |
461 // (thread is an argument passed in to all these routines) | 464 // (thread is an argument passed in to all these routines) |