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

Side by Side Diff: src/arm64/macro-assembler-arm64.h

Issue 559913002: Rename ascii to one-byte where applicable. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_ARM64_MACRO_ASSEMBLER_ARM64_H_ 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "src/globals.h" 10 #include "src/globals.h"
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 // determine which is the most efficient algorithm to use for copying. 1049 // determine which is the most efficient algorithm to use for copying.
1050 void CopyBytes(Register dst, 1050 void CopyBytes(Register dst,
1051 Register src, 1051 Register src,
1052 Register length, 1052 Register length,
1053 Register scratch, 1053 Register scratch,
1054 CopyHint hint = kCopyUnknown); 1054 CopyHint hint = kCopyUnknown);
1055 1055
1056 // ---- String Utilities ---- 1056 // ---- String Utilities ----
1057 1057
1058 1058
1059 // Jump to label if either object is not a sequential ASCII string. 1059 // Jump to label if either object is not a sequential one-byte string.
1060 // Optionally perform a smi check on the objects first. 1060 // Optionally perform a smi check on the objects first.
1061 void JumpIfEitherIsNotSequentialAsciiStrings( 1061 void JumpIfEitherIsNotSequentialOneByteStrings(
1062 Register first, 1062 Register first, Register second, Register scratch1, Register scratch2,
1063 Register second, 1063 Label* failure, SmiCheckType smi_check = DO_SMI_CHECK);
1064 Register scratch1,
1065 Register scratch2,
1066 Label* failure,
1067 SmiCheckType smi_check = DO_SMI_CHECK);
1068 1064
1069 // Check if instance type is sequential ASCII string and jump to label if 1065 // Check if instance type is sequential one-byte string and jump to label if
1070 // it is not. 1066 // it is not.
1071 void JumpIfInstanceTypeIsNotSequentialAscii(Register type, 1067 void JumpIfInstanceTypeIsNotSequentialOneByte(Register type, Register scratch,
1072 Register scratch, 1068 Label* failure);
1073 Label* failure);
1074 1069
1075 // Checks if both instance types are sequential ASCII strings and jumps to 1070 // Checks if both instance types are sequential one-byte strings and jumps to
1076 // label if either is not. 1071 // label if either is not.
1077 void JumpIfEitherInstanceTypeIsNotSequentialAscii( 1072 void JumpIfEitherInstanceTypeIsNotSequentialOneByte(
1078 Register first_object_instance_type, 1073 Register first_object_instance_type, Register second_object_instance_type,
1079 Register second_object_instance_type, 1074 Register scratch1, Register scratch2, Label* failure);
1080 Register scratch1,
1081 Register scratch2,
1082 Label* failure);
1083 1075
1084 // Checks if both instance types are sequential ASCII strings and jumps to 1076 // Checks if both instance types are sequential one-byte strings and jumps to
1085 // label if either is not. 1077 // label if either is not.
1086 void JumpIfBothInstanceTypesAreNotSequentialAscii( 1078 void JumpIfBothInstanceTypesAreNotSequentialOneByte(
1087 Register first_object_instance_type, 1079 Register first_object_instance_type, Register second_object_instance_type,
1088 Register second_object_instance_type, 1080 Register scratch1, Register scratch2, Label* failure);
1089 Register scratch1,
1090 Register scratch2,
1091 Label* failure);
1092 1081
1093 void JumpIfNotUniqueName(Register type, Label* not_unique_name); 1082 void JumpIfNotUniqueName(Register type, Label* not_unique_name);
1094 1083
1095 // ---- Calling / Jumping helpers ---- 1084 // ---- Calling / Jumping helpers ----
1096 1085
1097 // This is required for compatibility in architecture indepenedant code. 1086 // This is required for compatibility in architecture indepenedant code.
1098 inline void jmp(Label* L) { B(L); } 1087 inline void jmp(Label* L) { B(L); }
1099 1088
1100 // Passes thrown value to the handler of top of the try handler chain. 1089 // Passes thrown value to the handler of top of the try handler chain.
1101 // Register value must be x0. 1090 // Register value must be x0.
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 // are left to the object(s) no longer allocated as they would be invalid when 1352 // are left to the object(s) no longer allocated as they would be invalid when
1364 // allocation is undone. 1353 // allocation is undone.
1365 void UndoAllocationInNewSpace(Register object, Register scratch); 1354 void UndoAllocationInNewSpace(Register object, Register scratch);
1366 1355
1367 void AllocateTwoByteString(Register result, 1356 void AllocateTwoByteString(Register result,
1368 Register length, 1357 Register length,
1369 Register scratch1, 1358 Register scratch1,
1370 Register scratch2, 1359 Register scratch2,
1371 Register scratch3, 1360 Register scratch3,
1372 Label* gc_required); 1361 Label* gc_required);
1373 void AllocateAsciiString(Register result, 1362 void AllocateOneByteString(Register result, Register length,
1374 Register length, 1363 Register scratch1, Register scratch2,
1375 Register scratch1, 1364 Register scratch3, Label* gc_required);
1376 Register scratch2,
1377 Register scratch3,
1378 Label* gc_required);
1379 void AllocateTwoByteConsString(Register result, 1365 void AllocateTwoByteConsString(Register result,
1380 Register length, 1366 Register length,
1381 Register scratch1, 1367 Register scratch1,
1382 Register scratch2, 1368 Register scratch2,
1383 Label* gc_required); 1369 Label* gc_required);
1384 void AllocateAsciiConsString(Register result, 1370 void AllocateOneByteConsString(Register result, Register length,
1385 Register length, 1371 Register scratch1, Register scratch2,
1386 Register scratch1, 1372 Label* gc_required);
1387 Register scratch2,
1388 Label* gc_required);
1389 void AllocateTwoByteSlicedString(Register result, 1373 void AllocateTwoByteSlicedString(Register result,
1390 Register length, 1374 Register length,
1391 Register scratch1, 1375 Register scratch1,
1392 Register scratch2, 1376 Register scratch2,
1393 Label* gc_required); 1377 Label* gc_required);
1394 void AllocateAsciiSlicedString(Register result, 1378 void AllocateOneByteSlicedString(Register result, Register length,
1395 Register length, 1379 Register scratch1, Register scratch2,
1396 Register scratch1, 1380 Label* gc_required);
1397 Register scratch2,
1398 Label* gc_required);
1399 1381
1400 // Allocates a heap number or jumps to the gc_required label if the young 1382 // Allocates a heap number or jumps to the gc_required label if the young
1401 // space is full and a scavenge is needed. 1383 // space is full and a scavenge is needed.
1402 // All registers are clobbered. 1384 // All registers are clobbered.
1403 // If no heap_number_map register is provided, the function will take care of 1385 // If no heap_number_map register is provided, the function will take care of
1404 // loading it. 1386 // loading it.
1405 void AllocateHeapNumber(Register result, 1387 void AllocateHeapNumber(Register result,
1406 Label* gc_required, 1388 Label* gc_required,
1407 Register scratch1, 1389 Register scratch1,
1408 Register scratch2, 1390 Register scratch2,
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after
2355 #error "Unsupported option" 2337 #error "Unsupported option"
2356 #define CODE_COVERAGE_STRINGIFY(x) #x 2338 #define CODE_COVERAGE_STRINGIFY(x) #x
2357 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2339 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2358 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2340 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2359 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2341 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2360 #else 2342 #else
2361 #define ACCESS_MASM(masm) masm-> 2343 #define ACCESS_MASM(masm) masm->
2362 #endif 2344 #endif
2363 2345
2364 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2346 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698