| Index: src/ia32/macro-assembler-ia32.h
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.h (revision 2828)
|
| +++ src/ia32/macro-assembler-ia32.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:
|
| @@ -56,6 +56,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:
|
| @@ -201,7 +213,7 @@
|
| Register result_end,
|
| Register scratch,
|
| Label* gc_required,
|
| - bool result_contains_top_on_entry);
|
| + AllocationFlags flags);
|
|
|
| void AllocateObjectInNewSpace(int header_size,
|
| ScaleFactor element_size,
|
| @@ -210,14 +222,14 @@
|
| Register result_end,
|
| Register scratch,
|
| Label* gc_required,
|
| - bool result_contains_top_on_entry);
|
| + AllocationFlags flags);
|
|
|
| void AllocateObjectInNewSpace(Register object_size,
|
| Register result,
|
| Register result_end,
|
| Register scratch,
|
| Label* gc_required,
|
| - bool result_contains_top_on_entry);
|
| + AllocationFlags flags);
|
|
|
| // Undo allocation in new space. The object passed and objects allocated after
|
| // it will no longer be allocated. Make sure that no pointers are left to the
|
| @@ -350,7 +362,7 @@
|
| void LoadAllocationTopHelper(Register result,
|
| Register result_end,
|
| Register scratch,
|
| - bool result_contains_top_on_entry);
|
| + AllocationFlags flags);
|
| void UpdateAllocationTopHelper(Register result_end, Register scratch);
|
| };
|
|
|
|
|