| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |