| OLD | NEW | 
|---|
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 263   // Compare instance type in a map.  map contains a valid map object whose | 263   // Compare instance type in a map.  map contains a valid map object whose | 
| 264   // object type should be compared with the given type.  This both | 264   // object type should be compared with the given type.  This both | 
| 265   // sets the flags and leaves the object type in the type_reg register.  It | 265   // sets the flags and leaves the object type in the type_reg register.  It | 
| 266   // leaves the heap object in the heap_object register unless the heap_object | 266   // leaves the heap object in the heap_object register unless the heap_object | 
| 267   // register is the same register as type_reg. | 267   // register is the same register as type_reg. | 
| 268   void CompareInstanceType(Register map, | 268   void CompareInstanceType(Register map, | 
| 269                            Register type_reg, | 269                            Register type_reg, | 
| 270                            InstanceType type); | 270                            InstanceType type); | 
| 271 | 271 | 
| 272 | 272 | 
|  | 273   // Check if the map of an object is equal to a specified map and | 
|  | 274   // branch to label if not. Skip the smi check if not required | 
|  | 275   // (object is known to be a heap object) | 
|  | 276   void CheckMap(Register obj, | 
|  | 277                 Register scratch, | 
|  | 278                 Handle<Map> map, | 
|  | 279                 Label* fail, | 
|  | 280                 bool is_heap_object); | 
|  | 281 | 
| 273   // Load and check the instance type of an object for being a string. | 282   // Load and check the instance type of an object for being a string. | 
| 274   // Loads the type into the second argument register. | 283   // Loads the type into the second argument register. | 
| 275   // Returns a condition that will be enabled if the object was a string. | 284   // Returns a condition that will be enabled if the object was a string. | 
| 276   Condition IsObjectStringType(Register obj, | 285   Condition IsObjectStringType(Register obj, | 
| 277                                Register type) { | 286                                Register type) { | 
| 278     ldr(type, FieldMemOperand(obj, HeapObject::kMapOffset)); | 287     ldr(type, FieldMemOperand(obj, HeapObject::kMapOffset)); | 
| 279     ldrb(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); | 288     ldrb(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); | 
| 280     tst(type, Operand(kIsNotStringMask)); | 289     tst(type, Operand(kIsNotStringMask)); | 
| 281     ASSERT_EQ(0, kStringTag); | 290     ASSERT_EQ(0, kStringTag); | 
| 282     return eq; | 291     return eq; | 
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 484 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 493 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 
| 485 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 494 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 
| 486 #else | 495 #else | 
| 487 #define ACCESS_MASM(masm) masm-> | 496 #define ACCESS_MASM(masm) masm-> | 
| 488 #endif | 497 #endif | 
| 489 | 498 | 
| 490 | 499 | 
| 491 } }  // namespace v8::internal | 500 } }  // namespace v8::internal | 
| 492 | 501 | 
| 493 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 502 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| OLD | NEW | 
|---|