Revision: 4844
Author: [email protected]
Date: Fri Jun 11 03:25:34 2010
Log: Add missing files accidentally left out on last commit.

http://code.google.com/p/v8/source/detail?r=4844

Modified:
 /branches/bleeding_edge/src/arm/macro-assembler-arm.cc
 /branches/bleeding_edge/src/arm/macro-assembler-arm.h

=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.cc Thu May 27 06:48:52 2010 +++ /branches/bleeding_edge/src/arm/macro-assembler-arm.cc Fri Jun 11 03:25:34 2010
@@ -1197,6 +1197,21 @@
   cmp(scratch, ip);
   b(ne, fail);
 }
+
+
+void MacroAssembler::CheckMap(Register obj,
+                              Register scratch,
+                              Heap::RootListIndex index,
+                              Label* fail,
+                              bool is_heap_object) {
+  if (!is_heap_object) {
+    BranchOnSmi(obj, fail);
+  }
+  ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
+  LoadRoot(ip, index);
+  cmp(scratch, ip);
+  b(ne, fail);
+}


 void MacroAssembler::TryGetFunctionPrototype(Register function,
=======================================
--- /branches/bleeding_edge/src/arm/macro-assembler-arm.h Fri May 28 04:23:07 2010 +++ /branches/bleeding_edge/src/arm/macro-assembler-arm.h Fri Jun 11 03:25:34 2010
@@ -401,15 +401,23 @@
                            InstanceType type);


-  // Check if the map of an object is equal to a specified map and
-  // branch to label if not. Skip the smi check if not required
-  // (object is known to be a heap object)
+  // Check if the map of an object is equal to a specified map (either
+  // given directly or as an index into the root list) and branch to
+  // label if not. Skip the smi check if not required (object is known
+  // to be a heap object)
   void CheckMap(Register obj,
                 Register scratch,
                 Handle<Map> map,
                 Label* fail,
                 bool is_heap_object);

+  void CheckMap(Register obj,
+                Register scratch,
+                Heap::RootListIndex index,
+                Label* fail,
+                bool is_heap_object);
+
+
   // Load and check the instance type of an object for being a string.
   // Loads the type into the second argument register.
   // Returns a condition that will be enabled if the object was a string.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to