Index: src/vm/heap.cc |
diff --git a/src/vm/heap.cc b/src/vm/heap.cc |
index 890fb703758a1f7d32fb91ebc3d016d450189bee..2a1e96d5d4f85100995613a8477b2c4f2c0e4eca 100644 |
--- a/src/vm/heap.cc |
+++ b/src/vm/heap.cc |
@@ -62,6 +62,17 @@ Object* Heap::Allocate(uword size) { |
return HeapObject::FromAddress(result); |
} |
+Object* Heap::CreateBooleanObject(uword position, Class* the_class, |
+ Object* init_value) { |
+ HeapObject* raw_result = HeapObject::FromAddress(position); |
+ Instance* result = reinterpret_cast<Instance*>(raw_result); |
+ result->set_class(the_class); |
+ result->set_immutable(true); |
+ result->InitializeIdentityHashCode(random()); |
+ result->Initialize(the_class->instance_format().fixed_size(), init_value); |
+ return result; |
+} |
+ |
Object* Heap::CreateInstance(Class* the_class, Object* init_value, |
bool immutable) { |
uword size = the_class->instance_format().fixed_size(); |