Revision: 20714
Author:   [email protected]
Date:     Mon Apr 14 11:04:46 2014 UTC
Log:      ARM64: Fix EnsureSpace to not emit pools.

The EnsureSpace scope must not trigger any code emission, so it should only grow
the buffer, and not check for pools.

[email protected]

Review URL: https://codereview.chromium.org/230223005
http://code.google.com/p/v8/source/detail?r=20714

Modified:
 /branches/bleeding_edge/src/arm64/assembler-arm64-inl.h
 /branches/bleeding_edge/src/arm64/assembler-arm64.h

=======================================
--- /branches/bleeding_edge/src/arm64/assembler-arm64-inl.h Mon Mar 24 16:11:28 2014 UTC +++ /branches/bleeding_edge/src/arm64/assembler-arm64-inl.h Mon Apr 14 11:04:46 2014 UTC
@@ -1199,11 +1199,16 @@
 }


-inline void Assembler::CheckBuffer() {
+inline void Assembler::CheckBufferSpace() {
   ASSERT(pc_ < (buffer_ + buffer_size_));
   if (buffer_space() < kGap) {
     GrowBuffer();
   }
+}
+
+
+inline void Assembler::CheckBuffer() {
+  CheckBufferSpace();
   if (pc_offset() >= next_veneer_pool_check_) {
     CheckVeneerPool(false, true);
   }
=======================================
--- /branches/bleeding_edge/src/arm64/assembler-arm64.h Thu Apr 10 15:47:45 2014 UTC +++ /branches/bleeding_edge/src/arm64/assembler-arm64.h Mon Apr 14 11:04:46 2014 UTC
@@ -2040,6 +2040,7 @@
   }

   void GrowBuffer();
+  void CheckBufferSpace();
   void CheckBuffer();

   // Pc offset of the next constant pool check.
@@ -2238,7 +2239,7 @@
 class EnsureSpace BASE_EMBEDDED {
  public:
   explicit EnsureSpace(Assembler* assembler) {
-    assembler->CheckBuffer();
+    assembler->CheckBufferSpace();
   }
 };

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to