diff options
Diffstat (limited to 'V8Binding/v8/src/x64/macro-assembler-x64.h')
-rw-r--r-- | V8Binding/v8/src/x64/macro-assembler-x64.h | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/V8Binding/v8/src/x64/macro-assembler-x64.h b/V8Binding/v8/src/x64/macro-assembler-x64.h index 31135d9..8fc7a9c 100644 --- a/V8Binding/v8/src/x64/macro-assembler-x64.h +++ b/V8Binding/v8/src/x64/macro-assembler-x64.h @@ -1,4 +1,4 @@ -// Copyright 2006-2008 the V8 project authors. All rights reserved. +// Copyright 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: @@ -42,30 +42,15 @@ static const Register kScratchRegister = r10; class JumpTarget; -// Helper types to make flags easier to read at call sites. -enum InvokeFlag { - CALL_FUNCTION, - JUMP_FUNCTION -}; - -enum CodeLocation { - IN_JAVASCRIPT, - IN_JS_ENTRY, - IN_C_ENTRY -}; - -enum HandlerType { - TRY_CATCH_HANDLER, - TRY_FINALLY_HANDLER, - JS_ENTRY_HANDLER -}; - - // MacroAssembler implements a collection of frequently used macros. class MacroAssembler: public Assembler { public: MacroAssembler(void* buffer, int size); + void LoadRoot(Register destination, Heap::RootListIndex index); + void CompareRoot(Register with, Heap::RootListIndex index); + void PushRoot(Heap::RootListIndex index); + // --------------------------------------------------------------------------- // GC Support @@ -240,7 +225,7 @@ class MacroAssembler: public Assembler { Register result_end, Register scratch, Label* gc_required, - bool result_contains_top_on_entry); + AllocationFlags flags); void AllocateObjectInNewSpace(int header_size, ScaleFactor element_size, @@ -249,14 +234,14 @@ class MacroAssembler: public Assembler { 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 @@ -388,7 +373,7 @@ class MacroAssembler: public Assembler { void LoadAllocationTopHelper(Register result, Register result_end, Register scratch, - bool result_contains_top_on_entry); + AllocationFlags flags); void UpdateAllocationTopHelper(Register result_end, Register scratch); }; |