Mercurial > hg > truffle
comparison src/share/vm/prims/forte.cpp @ 14521:29ccc4cbabca
Merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 12 Mar 2014 13:30:08 +0100 |
parents | abec000618bf |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14520:f84115370178 | 14521:29ccc4cbabca |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2013, 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. |
69 //------------------------------------------------------- | 69 //------------------------------------------------------- |
70 | 70 |
71 // Native interfaces for use by Forte tools. | 71 // Native interfaces for use by Forte tools. |
72 | 72 |
73 | 73 |
74 #ifndef IA64 | 74 #if !defined(IA64) && !defined(PPC64) |
75 | 75 |
76 class vframeStreamForte : public vframeStreamCommon { | 76 class vframeStreamForte : public vframeStreamCommon { |
77 public: | 77 public: |
78 // constructor that starts with sender of frame fr (top_frame) | 78 // constructor that starts with sender of frame fr (top_frame) |
79 vframeStreamForte(JavaThread *jt, frame fr, bool stop_at_java_call_stub); | 79 vframeStreamForte(JavaThread *jt, frame fr, bool stop_at_java_call_stub); |
611 // Because it is weakly bound, the calls become NOP's when the library | 611 // Because it is weakly bound, the calls become NOP's when the library |
612 // isn't present. | 612 // isn't present. |
613 #ifdef __APPLE__ | 613 #ifdef __APPLE__ |
614 // XXXDARWIN: Link errors occur even when __attribute__((weak_import)) | 614 // XXXDARWIN: Link errors occur even when __attribute__((weak_import)) |
615 // is added | 615 // is added |
616 #define collector_func_load(x0,x1,x2,x3,x4,x5,x6) (0) | 616 #define collector_func_load(x0,x1,x2,x3,x4,x5,x6) ((void) 0) |
617 #else | 617 #else |
618 void collector_func_load(char* name, | 618 void collector_func_load(char* name, |
619 void* null_argument_1, | 619 void* null_argument_1, |
620 void* null_argument_2, | 620 void* null_argument_2, |
621 void *vaddr, | 621 void *vaddr, |
627 ( collector_func_load ? collector_func_load(x0,x1,x2,x3,x4,x5,x6),(void)0 : (void)0 ) | 627 ( collector_func_load ? collector_func_load(x0,x1,x2,x3,x4,x5,x6),(void)0 : (void)0 ) |
628 #endif // __APPLE__ | 628 #endif // __APPLE__ |
629 #endif // !_WINDOWS | 629 #endif // !_WINDOWS |
630 | 630 |
631 } // end extern "C" | 631 } // end extern "C" |
632 #endif // !IA64 | 632 #endif // !IA64 && !PPC64 |
633 | 633 |
634 void Forte::register_stub(const char* name, address start, address end) { | 634 void Forte::register_stub(const char* name, address start, address end) { |
635 #if !defined(_WINDOWS) && !defined(IA64) | 635 #if !defined(_WINDOWS) && !defined(IA64) && !defined(PPC64) |
636 assert(pointer_delta(end, start, sizeof(jbyte)) < INT_MAX, | 636 assert(pointer_delta(end, start, sizeof(jbyte)) < INT_MAX, |
637 "Code size exceeds maximum range"); | 637 "Code size exceeds maximum range"); |
638 | 638 |
639 collector_func_load((char*)name, NULL, NULL, start, | 639 collector_func_load((char*)name, NULL, NULL, start, |
640 pointer_delta(end, start, sizeof(jbyte)), 0, NULL); | 640 pointer_delta(end, start, sizeof(jbyte)), 0, NULL); |
641 #endif // !_WINDOWS && !IA64 | 641 #endif // !_WINDOWS && !IA64 && !PPC64 |
642 } | 642 } |
643 | 643 |
644 #else // INCLUDE_JVMTI | 644 #else // INCLUDE_JVMTI |
645 extern "C" { | 645 extern "C" { |
646 JNIEXPORT | 646 JNIEXPORT |