Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/unhandledOops.hpp @ 14318:1020b892787b
Merge
author | hseigel |
---|---|
date | Sun, 02 Feb 2014 15:31:40 -0500 |
parents | 63a4eb8bcd23 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14317:b59507f713e0 | 14318:1020b892787b |
---|---|
32 // The design is that when an oop is declared on the stack as a local | 32 // The design is that when an oop is declared on the stack as a local |
33 // variable, the oop is actually a C++ struct with constructor and | 33 // variable, the oop is actually a C++ struct with constructor and |
34 // destructor. The constructor adds the oop address on a list | 34 // destructor. The constructor adds the oop address on a list |
35 // off each thread and the destructor removes the oop. At a potential | 35 // off each thread and the destructor removes the oop. At a potential |
36 // safepoint, the stack addresses of the local variable oops are trashed | 36 // safepoint, the stack addresses of the local variable oops are trashed |
37 // with a recognizeable value. If the local variable is used again, it | 37 // with a recognizable value. If the local variable is used again, it |
38 // will segfault, indicating an unsafe use of that oop. | 38 // will segfault, indicating an unsafe use of that oop. |
39 // eg: | 39 // eg: |
40 // oop o; //register &o on list | 40 // oop o; //register &o on list |
41 // funct(); // if potential safepoint - causes clear_naked_oops() | 41 // funct(); // if potential safepoint - causes clear_naked_oops() |
42 // // which trashes o above. | 42 // // which trashes o above. |