Index: src/arm/macro-assembler-arm.h |
=================================================================== |
--- src/arm/macro-assembler-arm.h (revision 2828) |
+++ src/arm/macro-assembler-arm.h (working copy) |
@@ -1,4 +1,4 @@ |
-// Copyright 2006-2008 the V8 project authors. All rights reserved. |
+// Copyright 2006-2009 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -67,6 +67,18 @@ |
}; |
+// Flags used for the AllocateObjectInNewSpace functions. |
+enum AllocationFlags { |
+ // No special flags. |
+ NO_ALLOCATION_FLAGS = 0, |
+ // Return the pointer to the allocated already tagged as a heap object. |
+ TAG_OBJECT = 1 << 0, |
+ // The content of the result register already contains the allocation top in |
+ // new space. |
+ RESULT_CONTAINS_TOP = 1 << 1 |
+}; |
+ |
+ |
// MacroAssembler implements a collection of frequently used macros. |
class MacroAssembler: public Assembler { |
public: |
@@ -199,13 +211,13 @@ |
Register scratch1, |
Register scratch2, |
Label* gc_required, |
- bool tag_allocated_object); |
+ AllocationFlags flags); |
void AllocateObjectInNewSpace(Register object_size, |
Register result, |
Register scratch1, |
Register scratch2, |
Label* gc_required, |
- bool tag_allocated_object); |
+ AllocationFlags flags); |
// Undo allocation in new space. The object passed and objects allocated after |
// it will no longer be allocated. The caller must make sure that no pointers |