OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 if (IsDeadCheck(isolate, "V8::Persistent::New")) return NULL; | 618 if (IsDeadCheck(isolate, "V8::Persistent::New")) return NULL; |
619 LOG_API(isolate, "Persistent::New"); | 619 LOG_API(isolate, "Persistent::New"); |
620 i::Handle<i::Object> result = isolate->global_handles()->Create(*obj); | 620 i::Handle<i::Object> result = isolate->global_handles()->Create(*obj); |
621 #ifdef DEBUG | 621 #ifdef DEBUG |
622 (*obj)->Verify(); | 622 (*obj)->Verify(); |
623 #endif // DEBUG | 623 #endif // DEBUG |
624 return result.location(); | 624 return result.location(); |
625 } | 625 } |
626 | 626 |
627 | 627 |
628 void V8::MakeWeak(i::Isolate* isolate, | 628 void V8::MakeWeak(i::Object** object, |
629 i::Object** object, | |
630 void* parameters, | 629 void* parameters, |
631 RevivableCallback weak_reference_callback, | 630 RevivableCallback weak_reference_callback, |
632 NearDeathCallback near_death_callback) { | 631 NearDeathCallback near_death_callback) { |
633 ASSERT(isolate == i::Isolate::Current()); | 632 i::GlobalHandles::MakeWeak(object, |
634 LOG_API(isolate, "MakeWeak"); | 633 parameters, |
635 isolate->global_handles()->MakeWeak(object, | 634 weak_reference_callback, |
636 parameters, | 635 near_death_callback); |
637 weak_reference_callback, | |
638 near_death_callback); | |
639 } | 636 } |
640 | 637 |
641 | 638 |
642 void V8::ClearWeak(i::Isolate* isolate, i::Object** obj) { | 639 void V8::ClearWeak(i::Object** obj) { |
643 LOG_API(isolate, "ClearWeak"); | 640 i::GlobalHandles::ClearWeakness(obj); |
644 isolate->global_handles()->ClearWeakness(obj); | |
645 } | 641 } |
646 | 642 |
647 | 643 |
648 void V8::DisposeGlobal(i::Object** obj) { | 644 void V8::DisposeGlobal(i::Object** obj) { |
649 i::GlobalHandles::Destroy(obj); | 645 i::GlobalHandles::Destroy(obj); |
650 } | 646 } |
651 | 647 |
652 // --- H a n d l e s --- | 648 // --- H a n d l e s --- |
653 | 649 |
654 | 650 |
(...skipping 7248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7903 | 7899 |
7904 v->VisitPointers(blocks_.first(), first_block_limit_); | 7900 v->VisitPointers(blocks_.first(), first_block_limit_); |
7905 | 7901 |
7906 for (int i = 1; i < blocks_.length(); i++) { | 7902 for (int i = 1; i < blocks_.length(); i++) { |
7907 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); | 7903 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); |
7908 } | 7904 } |
7909 } | 7905 } |
7910 | 7906 |
7911 | 7907 |
7912 } } // namespace v8::internal | 7908 } } // namespace v8::internal |
OLD | NEW |