Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: src/global-handles.cc

Issue 265823006: Add defensive assert for having a weak, empty presistent in a (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "v8.h" 5 #include "v8.h"
6 6
7 #include "api.h" 7 #include "api.h"
8 #include "global-handles.h" 8 #include "global-handles.h"
9 9
10 #include "vm-state-inl.h" 10 #include "vm-state-inl.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 return parameter_or_next_free_.next_free; 200 return parameter_or_next_free_.next_free;
201 } 201 }
202 void set_next_free(Node* value) { 202 void set_next_free(Node* value) {
203 ASSERT(state() == FREE); 203 ASSERT(state() == FREE);
204 parameter_or_next_free_.next_free = value; 204 parameter_or_next_free_.next_free = value;
205 } 205 }
206 206
207 void MakeWeak(void* parameter, WeakCallback weak_callback) { 207 void MakeWeak(void* parameter, WeakCallback weak_callback) {
208 ASSERT(weak_callback != NULL); 208 ASSERT(weak_callback != NULL);
209 ASSERT(state() != FREE); 209 ASSERT(state() != FREE);
210 CHECK(object_ != NULL);
210 set_state(WEAK); 211 set_state(WEAK);
211 set_parameter(parameter); 212 set_parameter(parameter);
212 weak_callback_ = weak_callback; 213 weak_callback_ = weak_callback;
213 } 214 }
214 215
215 void* ClearWeakness() { 216 void* ClearWeakness() {
216 ASSERT(state() != FREE); 217 ASSERT(state() != FREE);
217 void* p = parameter(); 218 void* p = parameter();
218 set_state(NORMAL); 219 set_state(NORMAL);
219 set_parameter(NULL); 220 set_parameter(NULL);
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 ASSERT_EQ(isolate->heap()->the_hole_value(), blocks_[block][offset]); 1064 ASSERT_EQ(isolate->heap()->the_hole_value(), blocks_[block][offset]);
1064 blocks_[block][offset] = object; 1065 blocks_[block][offset] = object;
1065 if (isolate->heap()->InNewSpace(object)) { 1066 if (isolate->heap()->InNewSpace(object)) {
1066 new_space_indices_.Add(size_); 1067 new_space_indices_.Add(size_);
1067 } 1068 }
1068 *index = size_++; 1069 *index = size_++;
1069 } 1070 }
1070 1071
1071 1072
1072 } } // namespace v8::internal 1073 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698