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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 | 374 |
375 void RelocInfoWriter::WriteExtraTaggedIntData(int data_delta, int top_tag) { | 375 void RelocInfoWriter::WriteExtraTaggedIntData(int data_delta, int top_tag) { |
376 WriteExtraTag(kDataJumpExtraTag, top_tag); | 376 WriteExtraTag(kDataJumpExtraTag, top_tag); |
377 for (int i = 0; i < kIntSize; i++) { | 377 for (int i = 0; i < kIntSize; i++) { |
378 *--pos_ = static_cast<byte>(data_delta); | 378 *--pos_ = static_cast<byte>(data_delta); |
379 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 379 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
380 data_delta = data_delta >> kBitsPerByte; | 380 data_delta = data_delta >> kBitsPerByte; |
381 } | 381 } |
382 } | 382 } |
383 | 383 |
| 384 |
384 void RelocInfoWriter::WriteExtraTaggedConstPoolData(int data) { | 385 void RelocInfoWriter::WriteExtraTaggedConstPoolData(int data) { |
385 WriteExtraTag(kConstPoolExtraTag, kConstPoolTag); | 386 WriteExtraTag(kConstPoolExtraTag, kConstPoolTag); |
386 for (int i = 0; i < kIntSize; i++) { | 387 for (int i = 0; i < kIntSize; i++) { |
387 *--pos_ = static_cast<byte>(data); | 388 *--pos_ = static_cast<byte>(data); |
388 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 389 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
389 data = data >> kBitsPerByte; | 390 data = data >> kBitsPerByte; |
390 } | 391 } |
391 } | 392 } |
392 | 393 |
| 394 |
393 void RelocInfoWriter::WriteExtraTaggedData(intptr_t data_delta, int top_tag) { | 395 void RelocInfoWriter::WriteExtraTaggedData(intptr_t data_delta, int top_tag) { |
394 WriteExtraTag(kDataJumpExtraTag, top_tag); | 396 WriteExtraTag(kDataJumpExtraTag, top_tag); |
395 for (int i = 0; i < kIntptrSize; i++) { | 397 for (int i = 0; i < kIntptrSize; i++) { |
396 *--pos_ = static_cast<byte>(data_delta); | 398 *--pos_ = static_cast<byte>(data_delta); |
397 // Signed right shift is arithmetic shift. Tested in test-utils.cc. | 399 // Signed right shift is arithmetic shift. Tested in test-utils.cc. |
398 data_delta = data_delta >> kBitsPerByte; | 400 data_delta = data_delta >> kBitsPerByte; |
399 } | 401 } |
400 } | 402 } |
401 | 403 |
402 | 404 |
(...skipping 912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1315 #elif V8_TARGET_ARCH_ARM | 1317 #elif V8_TARGET_ARCH_ARM |
1316 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); | 1318 function = FUNCTION_ADDR(RegExpMacroAssemblerARM::CheckStackGuardState); |
1317 #elif V8_TARGET_ARCH_MIPS | 1319 #elif V8_TARGET_ARCH_MIPS |
1318 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); | 1320 function = FUNCTION_ADDR(RegExpMacroAssemblerMIPS::CheckStackGuardState); |
1319 #else | 1321 #else |
1320 UNREACHABLE(); | 1322 UNREACHABLE(); |
1321 #endif | 1323 #endif |
1322 return ExternalReference(Redirect(isolate, function)); | 1324 return ExternalReference(Redirect(isolate, function)); |
1323 } | 1325 } |
1324 | 1326 |
| 1327 |
1325 ExternalReference ExternalReference::re_grow_stack(Isolate* isolate) { | 1328 ExternalReference ExternalReference::re_grow_stack(Isolate* isolate) { |
1326 return ExternalReference( | 1329 return ExternalReference( |
1327 Redirect(isolate, FUNCTION_ADDR(NativeRegExpMacroAssembler::GrowStack))); | 1330 Redirect(isolate, FUNCTION_ADDR(NativeRegExpMacroAssembler::GrowStack))); |
1328 } | 1331 } |
1329 | 1332 |
1330 ExternalReference ExternalReference::re_case_insensitive_compare_uc16( | 1333 ExternalReference ExternalReference::re_case_insensitive_compare_uc16( |
1331 Isolate* isolate) { | 1334 Isolate* isolate) { |
1332 return ExternalReference(Redirect( | 1335 return ExternalReference(Redirect( |
1333 isolate, | 1336 isolate, |
1334 FUNCTION_ADDR(NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16))); | 1337 FUNCTION_ADDR(NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16))); |
1335 } | 1338 } |
1336 | 1339 |
| 1340 |
1337 ExternalReference ExternalReference::re_word_character_map() { | 1341 ExternalReference ExternalReference::re_word_character_map() { |
1338 return ExternalReference( | 1342 return ExternalReference( |
1339 NativeRegExpMacroAssembler::word_character_map_address()); | 1343 NativeRegExpMacroAssembler::word_character_map_address()); |
1340 } | 1344 } |
1341 | 1345 |
1342 ExternalReference ExternalReference::address_of_static_offsets_vector( | 1346 ExternalReference ExternalReference::address_of_static_offsets_vector( |
1343 Isolate* isolate) { | 1347 Isolate* isolate) { |
1344 return ExternalReference( | 1348 return ExternalReference( |
1345 reinterpret_cast<Address>(isolate->jsregexp_static_offsets_vector())); | 1349 reinterpret_cast<Address>(isolate->jsregexp_static_offsets_vector())); |
1346 } | 1350 } |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1662 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); | 1666 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); |
1663 state_.written_position = state_.current_position; | 1667 state_.written_position = state_.current_position; |
1664 written = true; | 1668 written = true; |
1665 } | 1669 } |
1666 | 1670 |
1667 // Return whether something was written. | 1671 // Return whether something was written. |
1668 return written; | 1672 return written; |
1669 } | 1673 } |
1670 | 1674 |
1671 } } // namespace v8::internal | 1675 } } // namespace v8::internal |
OLD | NEW |