Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: src/a64/lithium-gap-resolver-a64.h

Issue 144963003: A64: add missing files. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/a64/lithium-codegen-a64.cc ('k') | src/a64/lithium-gap-resolver-a64.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/a64/lithium-gap-resolver-a64.h
diff --git a/src/arm/lithium-gap-resolver-arm.h b/src/a64/lithium-gap-resolver-a64.h
similarity index 83%
copy from src/arm/lithium-gap-resolver-arm.h
copy to src/a64/lithium-gap-resolver-a64.h
index 9dd09c8d03b80da4bc79c9e166a6ee983bff34ff..fb3281212ffa1648ef142788a5fd732580c943b7 100644
--- a/src/arm/lithium-gap-resolver-arm.h
+++ b/src/a64/lithium-gap-resolver-a64.h
@@ -1,4 +1,4 @@
-// Copyright 2011 the V8 project authors. All rights reserved.
+// Copyright 2013 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:
@@ -25,8 +25,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#ifndef V8_ARM_LITHIUM_GAP_RESOLVER_ARM_H_
-#define V8_ARM_LITHIUM_GAP_RESOLVER_ARM_H_
+#ifndef V8_A64_LITHIUM_GAP_RESOLVER_A64_H_
+#define V8_A64_LITHIUM_GAP_RESOLVER_A64_H_
#include "v8.h"
@@ -65,9 +65,15 @@ class LGapResolver BASE_EMBEDDED {
// Emit a move and remove it from the move graph.
void EmitMove(int index);
+ // Emit a move from one stack slot to another.
+ void EmitStackSlotMove(int index);
+
// Verify the move list before performing moves.
void Verify();
+ // Register used to break cycle in moves list.
+ static const Register kSavedValue;
+
LCodeGen* cgen_;
// List of moves not yet resolved.
@@ -76,8 +82,12 @@ class LGapResolver BASE_EMBEDDED {
int root_index_;
bool in_cycle_;
LOperand* saved_destination_;
+
+ // We use the root register as a scratch in a few places. When that happens,
+ // this flag is set to indicate that it needs to be restored.
+ bool need_to_restore_root_;
};
} } // namespace v8::internal
-#endif // V8_ARM_LITHIUM_GAP_RESOLVER_ARM_H_
+#endif // V8_A64_LITHIUM_GAP_RESOLVER_A64_H_
« no previous file with comments | « src/a64/lithium-codegen-a64.cc ('k') | src/a64/lithium-gap-resolver-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698