| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 #include "runtime.h" | 52 #include "runtime.h" |
| 53 #include "serialize.h" | 53 #include "serialize.h" |
| 54 #include "store-buffer-inl.h" | 54 #include "store-buffer-inl.h" |
| 55 #include "stub-cache.h" | 55 #include "stub-cache.h" |
| 56 #include "token.h" | 56 #include "token.h" |
| 57 | 57 |
| 58 #if V8_TARGET_ARCH_IA32 | 58 #if V8_TARGET_ARCH_IA32 |
| 59 #include "ia32/assembler-ia32-inl.h" | 59 #include "ia32/assembler-ia32-inl.h" |
| 60 #elif V8_TARGET_ARCH_X64 | 60 #elif V8_TARGET_ARCH_X64 |
| 61 #include "x64/assembler-x64-inl.h" | 61 #include "x64/assembler-x64-inl.h" |
| 62 #elif V8_TARGET_ARCH_A64 | 62 #elif V8_TARGET_ARCH_ARM64 |
| 63 #include "a64/assembler-a64-inl.h" | 63 #include "arm64/assembler-arm64-inl.h" |
| 64 #elif V8_TARGET_ARCH_ARM | 64 #elif V8_TARGET_ARCH_ARM |
| 65 #include "arm/assembler-arm-inl.h" | 65 #include "arm/assembler-arm-inl.h" |
| 66 #elif V8_TARGET_ARCH_MIPS | 66 #elif V8_TARGET_ARCH_MIPS |
| 67 #include "mips/assembler-mips-inl.h" | 67 #include "mips/assembler-mips-inl.h" |
| 68 #else | 68 #else |
| 69 #error "Unknown architecture." | 69 #error "Unknown architecture." |
| 70 #endif | 70 #endif |
| 71 | 71 |
| 72 // Include native regexp-macro-assembler. | 72 // Include native regexp-macro-assembler. |
| 73 #ifndef V8_INTERPRETED_REGEXP | 73 #ifndef V8_INTERPRETED_REGEXP |
| 74 #if V8_TARGET_ARCH_IA32 | 74 #if V8_TARGET_ARCH_IA32 |
| 75 #include "ia32/regexp-macro-assembler-ia32.h" | 75 #include "ia32/regexp-macro-assembler-ia32.h" |
| 76 #elif V8_TARGET_ARCH_X64 | 76 #elif V8_TARGET_ARCH_X64 |
| 77 #include "x64/regexp-macro-assembler-x64.h" | 77 #include "x64/regexp-macro-assembler-x64.h" |
| 78 #elif V8_TARGET_ARCH_A64 | 78 #elif V8_TARGET_ARCH_ARM64 |
| 79 #include "a64/regexp-macro-assembler-a64.h" | 79 #include "arm64/regexp-macro-assembler-arm64.h" |
| 80 #elif V8_TARGET_ARCH_ARM | 80 #elif V8_TARGET_ARCH_ARM |
| 81 #include "arm/regexp-macro-assembler-arm.h" | 81 #include "arm/regexp-macro-assembler-arm.h" |
| 82 #elif V8_TARGET_ARCH_MIPS | 82 #elif V8_TARGET_ARCH_MIPS |
| 83 #include "mips/regexp-macro-assembler-mips.h" | 83 #include "mips/regexp-macro-assembler-mips.h" |
| 84 #else // Unknown architecture. | 84 #else // Unknown architecture. |
| 85 #error "Unknown architecture." | 85 #error "Unknown architecture." |
| 86 #endif // Target architecture. | 86 #endif // Target architecture. |
| 87 #endif // V8_INTERPRETED_REGEXP | 87 #endif // V8_INTERPRETED_REGEXP |
| 88 | 88 |
| 89 namespace v8 { | 89 namespace v8 { |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 // | 279 // |
| 280 // Long record format: | 280 // Long record format: |
| 281 // 4-bit middle_tag: | 281 // 4-bit middle_tag: |
| 282 // 0000 - 1100 : Short record for RelocInfo::Mode middle_tag + 2 | 282 // 0000 - 1100 : Short record for RelocInfo::Mode middle_tag + 2 |
| 283 // (The middle_tag encodes rmode - RelocInfo::LAST_COMPACT_ENUM, | 283 // (The middle_tag encodes rmode - RelocInfo::LAST_COMPACT_ENUM, |
| 284 // and is between 0000 and 1100) | 284 // and is between 0000 and 1100) |
| 285 // The format is: | 285 // The format is: |
| 286 // 00 [4 bit middle_tag] 11 followed by | 286 // 00 [4 bit middle_tag] 11 followed by |
| 287 // 00 [6 bit pc delta] | 287 // 00 [6 bit pc delta] |
| 288 // | 288 // |
| 289 // 1101: constant or veneer pool. Used only on ARM and A64 for now. | 289 // 1101: constant or veneer pool. Used only on ARM and ARM64 for now. |
| 290 // The format is: [2-bit sub-type] 1101 11 | 290 // The format is: [2-bit sub-type] 1101 11 |
| 291 // signed int (size of the pool). | 291 // signed int (size of the pool). |
| 292 // The 2-bit sub-types are: | 292 // The 2-bit sub-types are: |
| 293 // 00: constant pool | 293 // 00: constant pool |
| 294 // 01: veneer pool | 294 // 01: veneer pool |
| 295 // 1110: long_data_record | 295 // 1110: long_data_record |
| 296 // The format is: [2-bit data_type_tag] 1110 11 | 296 // The format is: [2-bit data_type_tag] 1110 11 |
| 297 // signed intptr_t, lowest byte written first | 297 // signed intptr_t, lowest byte written first |
| 298 // (except data_type code_target_with_id, which | 298 // (except data_type code_target_with_id, which |
| 299 // is followed by a signed int, not intptr_t.) | 299 // is followed by a signed int, not intptr_t.) |
| (...skipping 1036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1336 | 1336 |
| 1337 #ifndef V8_INTERPRETED_REGEXP | 1337 #ifndef V8_INTERPRETED_REGEXP |
| 1338 | 1338 |
| 1339 ExternalReference ExternalReference::re_check_stack_guard_state( | 1339 ExternalReference ExternalReference::re_check_stack_guard_state( |
| 1340 Isolate* isolate) { | 1340 Isolate* isolate) { |
| 1341 Address function; | 1341 Address function; |
| 1342 #if V8_TARGET_ARCH_X64 | 1342 #if V8_TARGET_ARCH_X64 |
| 1343 function = FUNCTION_ADDR(RegExpMacroAssemblerX64::CheckStackGuardState); | 1343 function = FUNCTION_ADDR(RegExpMacroAssemblerX64::CheckStackGuardState); |
| 1344 #elif V8_TARGET_ARCH_IA32 | 1344 #elif V8_TARGET_ARCH_IA32 |
| 1345 function = FUNCTION_ADDR(RegExpMacroAssemblerIA32::CheckStackGuardState); | 1345 function = FUNCTION_ADDR(RegExpMacroAssemblerIA32::CheckStackGuardState); |
| 1346 #elif V8_TARGET_ARCH_A64 | 1346 #elif V8_TARGET_ARCH_ARM64 |
| 1347 function = FUNCTION_ADDR(RegExpMacroAssemblerA64::CheckStackGuardState); | 1347 function = FUNCTION_ADDR(RegExpMacroAssemblerARM64::CheckStackGuardState); |
| 1348 #elif V8_TARGET_ARCH_ARM | 1348 #elif V8_TARGET_ARCH_ARM |
| 1349 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); | 1349 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); |
| 1350 #elif V8_TARGET_ARCH_MIPS | 1350 #elif V8_TARGET_ARCH_MIPS |
| 1351 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); | 1351 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); |
| 1352 #else | 1352 #else |
| 1353 UNREACHABLE(); | 1353 UNREACHABLE(); |
| 1354 #endif | 1354 #endif |
| 1355 return ExternalReference(Redirect(isolate, function)); | 1355 return ExternalReference(Redirect(isolate, function)); |
| 1356 } | 1356 } |
| 1357 | 1357 |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1633 r2 = r2 - ad; | 1633 r2 = r2 - ad; |
| 1634 } | 1634 } |
| 1635 delta = ad - r2; | 1635 delta = ad - r2; |
| 1636 } while (q1 < delta || (q1 == delta && r1 == 0)); | 1636 } while (q1 < delta || (q1 == delta && r1 == 0)); |
| 1637 int32_t mul = static_cast<int32_t>(q2 + 1); | 1637 int32_t mul = static_cast<int32_t>(q2 + 1); |
| 1638 multiplier_ = (d < 0) ? -mul : mul; | 1638 multiplier_ = (d < 0) ? -mul : mul; |
| 1639 shift_ = p - 32; | 1639 shift_ = p - 32; |
| 1640 } | 1640 } |
| 1641 | 1641 |
| 1642 } } // namespace v8::internal | 1642 } } // namespace v8::internal |
| OLD | NEW |