| 254 | currentRange.clear(); |
| 255 | } |
| 256 | bool markRange ( const PtrRange & r ) { |
| 257 | if ( currentRange.empty() ) return true; |
| 258 | if ( currentRange.contains(r) ) return false; |
| 259 | if ( heapOnly ) { |
| 260 | int ssize = int(r.to-r.from); |
| 261 | ssize = (ssize + 15) & ~15; |
| 262 | return context->heap->isOwnPtr(r.from, ssize); |
| 263 | } |
| 264 | return true; |
| 265 | } |
| 266 | void pushRange ( const PtrRange & rdata ) { |
| 267 | ptrRangeStack.push_back(currentRange); |
| 268 | currentRange = rdata; |