Lines Matching defs:intersection

232     // Compute lgrp intersection. Add/remove spaces.
463 // |----bottom_region--|---intersection---|------top_region------|
464 void MutableNUMASpace::select_tails(MemRegion new_region, MemRegion intersection,
467 if (new_region.start() < intersection.start()) { // Yes
470 HeapWord* p = (HeapWord*)round_to((intptr_t) intersection.start(), alignment());
473 if (intersection.contains(p)) {
474 intersection = MemRegion(p, intersection.end());
476 intersection = MemRegion(p, p);
480 *bottom_region = MemRegion(new_region.start(), intersection.start());
486 if (intersection.end() < new_region.end()) { // Yes
489 HeapWord* p = (HeapWord*)round_down((intptr_t) intersection.end(), alignment());
492 if (intersection.contains(p)) {
493 intersection = MemRegion(intersection.start(), p);
495 intersection = MemRegion(p, p);
499 *top_region = MemRegion(intersection.end(), new_region.end());
506 // the intersection area. Return the invalid_region aligned to the page_size()
507 // boundary if it's inside the intersection. Return non-empty invalid_region
508 // if it lies inside the intersection (also page-aligned).
511 // |----bottom_region--|---intersection---|------top_region------|
512 void MutableNUMASpace::merge_regions(MemRegion new_region, MemRegion* intersection,
514 if (intersection->start() >= invalid_region->start() && intersection->contains(invalid_region->end())) {
515 *intersection = MemRegion(invalid_region->end(), intersection->end());
518 if (intersection->end() <= invalid_region->end() && intersection->contains(invalid_region->start())) {
519 *intersection = MemRegion(intersection->start(), invalid_region->start());
522 if (intersection->equals(*invalid_region) || invalid_region->contains(*intersection)) {
523 *intersection = MemRegion(new_region.start(), new_region.start());
526 if (intersection->contains(invalid_region)) {
540 if (intersection->start() > start) {
541 *intersection = MemRegion(start, intersection->end());
543 if (intersection->end() < end) {
544 *intersection = MemRegion(intersection->start(), end);
585 MemRegion intersection = new_region.intersection(old_region);
586 if (intersection.start() == NULL ||
587 intersection.end() == NULL ||
590 intersection = MemRegion(new_region.start(), new_region.start());
592 select_tails(new_region, intersection, &bottom_region, &top_region);
655 // |----bottom_region--|---intersection---|------top_region------|
657 // The intersection part has all pages in place we don't need to migrate them.
660 MemRegion intersection = old_region.intersection(new_region);
662 if (intersection.start() == NULL || intersection.end() == NULL) {
663 intersection = MemRegion(new_region.start(), new_region.start());
667 MemRegion invalid_region = ls->invalid_region().intersection(new_region);
672 merge_regions(new_region, &intersection, &invalid_region);
678 select_tails(new_region, intersection, &bottom_region, &top_region);