| 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 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 377 | 377 |
| 378 void RelocInfoWriter::WriteExtraTaggedIntData(int data_delta, int top_tag) { | 378 void RelocInfoWriter::WriteExtraTaggedIntData(int data_delta, int top_tag) { |
| 379 WriteExtraTag(kDataJumpExtraTag, top_tag); | 379 WriteExtraTag(kDataJumpExtraTag, top_tag); |
| 380 for (int i = 0; i < kIntSize; i++) { | 380 for (int i = 0; i < kIntSize; i++) { |
| 381 *--pos_ = static_cast<byte>(data_delta); | 381 *--pos_ = static_cast<byte>(data_delta); |
| 382 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 382 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
| 383 data_delta = data_delta >> kBitsPerByte; | 383 data_delta = data_delta >> kBitsPerByte; |
| 384 } | 384 } |
| 385 } | 385 } |
| 386 | 386 |
| 387 |
| 387 void RelocInfoWriter::WriteExtraTaggedConstPoolData(int data) { | 388 void RelocInfoWriter::WriteExtraTaggedConstPoolData(int data) { |
| 388 WriteExtraTag(kConstPoolExtraTag, kConstPoolTag); | 389 WriteExtraTag(kConstPoolExtraTag, kConstPoolTag); |
| 389 for (int i = 0; i < kIntSize; i++) { | 390 for (int i = 0; i < kIntSize; i++) { |
| 390 *--pos_ = static_cast<byte>(data); | 391 *--pos_ = static_cast<byte>(data); |
| 391 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 392 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
| 392 data = data >> kBitsPerByte; | 393 data = data >> kBitsPerByte; |
| 393 } | 394 } |
| 394 } | 395 } |
| 395 | 396 |
| 397 |
| 396 void RelocInfoWriter::WriteExtraTaggedData(intptr_t data_delta, int top_tag) { | 398 void RelocInfoWriter::WriteExtraTaggedData(intptr_t data_delta, int top_tag) { |
| 397 WriteExtraTag(kDataJumpExtraTag, top_tag); | 399 WriteExtraTag(kDataJumpExtraTag, top_tag); |
| 398 for (int i = 0; i < kIntptrSize; i++) { | 400 for (int i = 0; i < kIntptrSize; i++) { |
| 399 *--pos_ = static_cast<byte>(data_delta); | 401 *--pos_ = static_cast<byte>(data_delta); |
| 400 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 402 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
| 401 data_delta = data_delta >> kBitsPerByte; | 403 data_delta = data_delta >> kBitsPerByte; |
| 402 } | 404 } |
| 403 } | 405 } |
| 404 | 406 |
| 405 | 407 |
| (...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1304 return ExternalReference( | 1306 return ExternalReference( |
| 1305 reinterpret_cast<void*>(&double_constants.the_hole_nan)); | 1307 reinterpret_cast<void*>(&double_constants.the_hole_nan)); |
| 1306 } | 1308 } |
| 1307 | 1309 |
| 1308 | 1310 |
| 1309 #ifndef V8_INTERPRETED_REGEXP | 1311 #ifndef V8_INTERPRETED_REGEXP |
| 1310 | 1312 |
| 1311 ExternalReference ExternalReference::re_check_stack_guard_state( | 1313 ExternalReference ExternalReference::re_check_stack_guard_state( |
| 1312 Isolate* isolate) { | 1314 Isolate* isolate) { |
| 1313 Address function; | 1315 Address function; |
| 1314 #ifdef V8_TARGET_ARCH_X64 | 1316 #if V8_TARGET_ARCH_X64 |
| 1315 function = FUNCTION_ADDR(RegExpMacroAssemblerX64::CheckStackGuardState); | 1317 function = FUNCTION_ADDR(RegExpMacroAssemblerX64::CheckStackGuardState); |
| 1316 #elif V8_TARGET_ARCH_IA32 | 1318 #elif V8_TARGET_ARCH_IA32 |
| 1317 function = FUNCTION_ADDR(RegExpMacroAssemblerIA32::CheckStackGuardState); | 1319 function = FUNCTION_ADDR(RegExpMacroAssemblerIA32::CheckStackGuardState); |
| 1318 #elif V8_TARGET_ARCH_A64 | 1320 #elif V8_TARGET_ARCH_A64 |
| 1319 function = FUNCTION_ADDR(RegExpMacroAssemblerA64::CheckStackGuardState); | 1321 function = FUNCTION_ADDR(RegExpMacroAssemblerA64::CheckStackGuardState); |
| 1320 #elif V8_TARGET_ARCH_ARM | 1322 #elif V8_TARGET_ARCH_ARM |
| 1321 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); | 1323 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); |
| 1322 #elif V8_TARGET_ARCH_MIPS | 1324 #elif V8_TARGET_ARCH_MIPS |
| 1323 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); | 1325 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); |
| 1324 #else | 1326 #else |
| 1325 UNREACHABLE(); | 1327 UNREACHABLE(); |
| 1326 #endif | 1328 #endif |
| 1327 return ExternalReference(Redirect(isolate, function)); | 1329 return ExternalReference(Redirect(isolate, function)); |
| 1328 } | 1330 } |
| 1329 | 1331 |
| 1332 |
| 1330 ExternalReference ExternalReference::re_grow_stack(Isolate* isolate) { | 1333 ExternalReference ExternalReference::re_grow_stack(Isolate* isolate) { |
| 1331 return ExternalReference( | 1334 return ExternalReference( |
| 1332 Redirect(isolate, FUNCTION_ADDR(NativeRegExpMacroAssembler::GrowStack))); | 1335 Redirect(isolate, FUNCTION_ADDR(NativeRegExpMacroAssembler::GrowStack))); |
| 1333 } | 1336 } |
| 1334 | 1337 |
| 1335 ExternalReference ExternalReference::re_case_insensitive_compare_uc16( | 1338 ExternalReference ExternalReference::re_case_insensitive_compare_uc16( |
| 1336 Isolate* isolate) { | 1339 Isolate* isolate) { |
| 1337 return ExternalReference(Redirect( | 1340 return ExternalReference(Redirect( |
| 1338 isolate, | 1341 isolate, |
| 1339 FUNCTION_ADDR(NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16))); | 1342 FUNCTION_ADDR(NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16))); |
| 1340 } | 1343 } |
| 1341 | 1344 |
| 1345 |
| 1342 ExternalReference ExternalReference::re_word_character_map() { | 1346 ExternalReference ExternalReference::re_word_character_map() { |
| 1343 return ExternalReference( | 1347 return ExternalReference( |
| 1344 NativeRegExpMacroAssembler::word_character_map_address()); | 1348 NativeRegExpMacroAssembler::word_character_map_address()); |
| 1345 } | 1349 } |
| 1346 | 1350 |
| 1347 ExternalReference ExternalReference::address_of_static_offsets_vector( | 1351 ExternalReference ExternalReference::address_of_static_offsets_vector( |
| 1348 Isolate* isolate) { | 1352 Isolate* isolate) { |
| 1349 return ExternalReference( | 1353 return ExternalReference( |
| 1350 reinterpret_cast<Address>(isolate->jsregexp_static_offsets_vector())); | 1354 reinterpret_cast<Address>(isolate->jsregexp_static_offsets_vector())); |
| 1351 } | 1355 } |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1667 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); | 1671 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); |
| 1668 state_.written_position = state_.current_position; | 1672 state_.written_position = state_.current_position; |
| 1669 written = true; | 1673 written = true; |
| 1670 } | 1674 } |
| 1671 | 1675 |
| 1672 // Return whether something was written. | 1676 // Return whether something was written. |
| 1673 return written; | 1677 return written; |
| 1674 } | 1678 } |
| 1675 | 1679 |
| 1676 } } // namespace v8::internal | 1680 } } // namespace v8::internal |
| OLD | NEW |