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 891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 bytes_scanned_ += bytes_to_process; | 902 bytes_scanned_ += bytes_to_process; |
903 | 903 |
904 double start = 0; | 904 double start = 0; |
905 | 905 |
906 if (FLAG_trace_incremental_marking || FLAG_trace_gc || | 906 if (FLAG_trace_incremental_marking || FLAG_trace_gc || |
907 FLAG_print_cumulative_gc_stat) { | 907 FLAG_print_cumulative_gc_stat) { |
908 start = OS::TimeCurrentMillis(); | 908 start = OS::TimeCurrentMillis(); |
909 } | 909 } |
910 | 910 |
911 if (state_ == SWEEPING) { | 911 if (state_ == SWEEPING) { |
912 if (heap_->EnsureSweepersProgressed(static_cast<int>(bytes_to_process))) { | 912 if (!heap_->mark_compact_collector()->IsConcurrentSweepingInProgress()) { |
913 bytes_scanned_ = 0; | 913 bytes_scanned_ = 0; |
914 StartMarking(PREVENT_COMPACTION); | 914 StartMarking(PREVENT_COMPACTION); |
915 } | 915 } |
916 } else if (state_ == MARKING) { | 916 } else if (state_ == MARKING) { |
917 ProcessMarkingDeque(bytes_to_process); | 917 ProcessMarkingDeque(bytes_to_process); |
918 if (marking_deque_.IsEmpty()) MarkingComplete(action); | 918 if (marking_deque_.IsEmpty()) MarkingComplete(action); |
919 } | 919 } |
920 | 920 |
921 steps_count_++; | 921 steps_count_++; |
922 steps_count_since_last_gc_++; | 922 steps_count_since_last_gc_++; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1011 bytes_scanned_ = 0; | 1011 bytes_scanned_ = 0; |
1012 write_barriers_invoked_since_last_step_ = 0; | 1012 write_barriers_invoked_since_last_step_ = 0; |
1013 } | 1013 } |
1014 | 1014 |
1015 | 1015 |
1016 int64_t IncrementalMarking::SpaceLeftInOldSpace() { | 1016 int64_t IncrementalMarking::SpaceLeftInOldSpace() { |
1017 return heap_->MaxOldGenerationSize() - heap_->PromotedSpaceSizeOfObjects(); | 1017 return heap_->MaxOldGenerationSize() - heap_->PromotedSpaceSizeOfObjects(); |
1018 } | 1018 } |
1019 | 1019 |
1020 } } // namespace v8::internal | 1020 } } // namespace v8::internal |
OLD | NEW |