Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: src/assembler.cc

Issue 148503002: A64: Synchronize with r15545. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/ast.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/ast.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698