| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| 7 | 7 | 
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" | 
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" | 
| 10 #include "src/frames.h" | 10 #include "src/frames.h" | 
| (...skipping 833 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 844   // Machine code version of Map::GetConstructor(). | 844   // Machine code version of Map::GetConstructor(). | 
| 845   // |temp| holds |result|'s map when done, and |temp2| its instance type. | 845   // |temp| holds |result|'s map when done, and |temp2| its instance type. | 
| 846   void GetMapConstructor(Register result, Register map, Register temp, | 846   void GetMapConstructor(Register result, Register map, Register temp, | 
| 847                          Register temp2); | 847                          Register temp2); | 
| 848 | 848 | 
| 849   // Try to get function prototype of a function and puts the value in | 849   // Try to get function prototype of a function and puts the value in | 
| 850   // the result register. Checks that the function really is a | 850   // the result register. Checks that the function really is a | 
| 851   // function and jumps to the miss label if the fast checks fail. The | 851   // function and jumps to the miss label if the fast checks fail. The | 
| 852   // function register will be untouched; the other registers may be | 852   // function register will be untouched; the other registers may be | 
| 853   // clobbered. | 853   // clobbered. | 
| 854   void TryGetFunctionPrototype(Register function, | 854   void TryGetFunctionPrototype(Register function, Register result, | 
| 855                                Register result, | 855                                Register scratch, Label* miss); | 
| 856                                Register scratch, |  | 
| 857                                Label* miss, |  | 
| 858                                bool miss_on_bound_function = false); |  | 
| 859 | 856 | 
| 860   // Compare object type for heap object.  heap_object contains a non-Smi | 857   // Compare object type for heap object.  heap_object contains a non-Smi | 
| 861   // whose object type should be compared with the given type.  This both | 858   // whose object type should be compared with the given type.  This both | 
| 862   // sets the flags and leaves the object type in the type_reg register. | 859   // sets the flags and leaves the object type in the type_reg register. | 
| 863   // It leaves the map in the map register (unless the type_reg and map register | 860   // It leaves the map in the map register (unless the type_reg and map register | 
| 864   // are the same register).  It leaves the heap object in the heap_object | 861   // are the same register).  It leaves the heap object in the heap_object | 
| 865   // register unless the heap_object register is the same register as one of the | 862   // register unless the heap_object register is the same register as one of the | 
| 866   // other registers. | 863   // other registers. | 
| 867   // Type_reg can be no_reg. In that case ip is used. | 864   // Type_reg can be no_reg. In that case ip is used. | 
| 868   void CompareObjectType(Register heap_object, | 865   void CompareObjectType(Register heap_object, | 
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1368   void JumpIfInstanceTypeIsNotSequentialOneByte(Register type, Register scratch, | 1365   void JumpIfInstanceTypeIsNotSequentialOneByte(Register type, Register scratch, | 
| 1369                                                 Label* failure); | 1366                                                 Label* failure); | 
| 1370 | 1367 | 
| 1371   void JumpIfNotUniqueNameInstanceType(Register reg, Label* not_unique_name); | 1368   void JumpIfNotUniqueNameInstanceType(Register reg, Label* not_unique_name); | 
| 1372 | 1369 | 
| 1373   void EmitSeqStringSetCharCheck(Register string, | 1370   void EmitSeqStringSetCharCheck(Register string, | 
| 1374                                  Register index, | 1371                                  Register index, | 
| 1375                                  Register value, | 1372                                  Register value, | 
| 1376                                  uint32_t encoding_mask); | 1373                                  uint32_t encoding_mask); | 
| 1377 | 1374 | 
| 1378   // --------------------------------------------------------------------------- |  | 
| 1379   // Patching helpers. |  | 
| 1380 |  | 
| 1381   // Get the location of a relocated constant (its address in the constant pool) |  | 
| 1382   // from its load site. |  | 
| 1383   void GetRelocatedValueLocation(Register ldr_location, Register result, |  | 
| 1384                                  Register scratch); |  | 
| 1385 |  | 
| 1386 | 1375 | 
| 1387   void ClampUint8(Register output_reg, Register input_reg); | 1376   void ClampUint8(Register output_reg, Register input_reg); | 
| 1388 | 1377 | 
| 1389   void ClampDoubleToUint8(Register result_reg, | 1378   void ClampDoubleToUint8(Register result_reg, | 
| 1390                           DwVfpRegister input_reg, | 1379                           DwVfpRegister input_reg, | 
| 1391                           LowDwVfpRegister double_scratch); | 1380                           LowDwVfpRegister double_scratch); | 
| 1392 | 1381 | 
| 1393 | 1382 | 
| 1394   void LoadInstanceDescriptors(Register map, Register descriptors); | 1383   void LoadInstanceDescriptors(Register map, Register descriptors); | 
| 1395   void EnumLength(Register dst, Register map); | 1384   void EnumLength(Register dst, Register map); | 
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1577 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1566 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 
| 1578 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1567 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 
| 1579 #else | 1568 #else | 
| 1580 #define ACCESS_MASM(masm) masm-> | 1569 #define ACCESS_MASM(masm) masm-> | 
| 1581 #endif | 1570 #endif | 
| 1582 | 1571 | 
| 1583 | 1572 | 
| 1584 } }  // namespace v8::internal | 1573 } }  // namespace v8::internal | 
| 1585 | 1574 | 
| 1586 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1575 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| OLD | NEW | 
|---|