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

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

Issue 1459083003: Fix object initialization when slack tracking for it's map is still enabled. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@toon
Patch Set: Fixed second nit in all platforms Created 5 years, 1 month 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
« no previous file with comments | « src/arm64/builtins-arm64.cc ('k') | src/arm64/macro-assembler-arm64.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 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/arm64/assembler-arm64.h" 10 #include "src/arm64/assembler-arm64.h"
(...skipping 1020 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 // The 'temps' list is a list of X registers which can be used for scratch 1031 // The 'temps' list is a list of X registers which can be used for scratch
1032 // values. The temps list must include at least one register. 1032 // values. The temps list must include at least one register.
1033 // 1033 //
1034 // Currently, CopyFields cannot make use of more than three registers from 1034 // Currently, CopyFields cannot make use of more than three registers from
1035 // the 'temps' list. 1035 // the 'temps' list.
1036 // 1036 //
1037 // CopyFields expects to be able to take at least two registers from 1037 // CopyFields expects to be able to take at least two registers from
1038 // MacroAssembler::TmpList(). 1038 // MacroAssembler::TmpList().
1039 void CopyFields(Register dst, Register src, CPURegList temps, unsigned count); 1039 void CopyFields(Register dst, Register src, CPURegList temps, unsigned count);
1040 1040
1041 // Starting at address in dst, initialize field_count 64-bit fields with 1041 // Initialize fields with filler values. Fields starting at |current_address|
1042 // 64-bit value in register filler. Register dst is corrupted. 1042 // not including |end_address| are overwritten with the value in |filler|. At
1043 void FillFields(Register dst, 1043 // the end the loop, |current_address| takes the value of |end_address|.
1044 Register field_count, 1044 void InitializeFieldsWithFiller(Register current_address,
1045 Register filler); 1045 Register end_address, Register filler);
1046 1046
1047 // Copies a number of bytes from src to dst. All passed registers are 1047 // Copies a number of bytes from src to dst. All passed registers are
1048 // clobbered. On exit src and dst will point to the place just after where the 1048 // clobbered. On exit src and dst will point to the place just after where the
1049 // last byte was read or written and length will be zero. Hint may be used to 1049 // last byte was read or written and length will be zero. Hint may be used to
1050 // determine which is the most efficient algorithm to use for copying. 1050 // determine which is the most efficient algorithm to use for copying.
1051 void CopyBytes(Register dst, 1051 void CopyBytes(Register dst,
1052 Register src, 1052 Register src,
1053 Register length, 1053 Register length,
1054 Register scratch, 1054 Register scratch,
1055 CopyHint hint = kCopyUnknown); 1055 CopyHint hint = kCopyUnknown);
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1290 // --------------------------------------------------------------------------- 1290 // ---------------------------------------------------------------------------
1291 // Allocation support 1291 // Allocation support
1292 1292
1293 // Allocate an object in new space or old space. The object_size is 1293 // Allocate an object in new space or old space. The object_size is
1294 // specified either in bytes or in words if the allocation flag SIZE_IN_WORDS 1294 // specified either in bytes or in words if the allocation flag SIZE_IN_WORDS
1295 // is passed. The allocated object is returned in result. 1295 // is passed. The allocated object is returned in result.
1296 // 1296 //
1297 // If the new space is exhausted control continues at the gc_required label. 1297 // If the new space is exhausted control continues at the gc_required label.
1298 // In this case, the result and scratch registers may still be clobbered. 1298 // In this case, the result and scratch registers may still be clobbered.
1299 // If flags includes TAG_OBJECT, the result is tagged as as a heap object. 1299 // If flags includes TAG_OBJECT, the result is tagged as as a heap object.
1300 void Allocate(Register object_size, 1300 void Allocate(Register object_size, Register result, Register result_end,
1301 Register result, 1301 Register scratch, Label* gc_required, AllocationFlags flags);
1302 Register scratch1,
1303 Register scratch2,
1304 Label* gc_required,
1305 AllocationFlags flags);
1306 1302
1307 void Allocate(int object_size, 1303 void Allocate(int object_size,
1308 Register result, 1304 Register result,
1309 Register scratch1, 1305 Register scratch1,
1310 Register scratch2, 1306 Register scratch2,
1311 Label* gc_required, 1307 Label* gc_required,
1312 AllocationFlags flags); 1308 AllocationFlags flags);
1313 1309
1314 void AllocateTwoByteString(Register result, 1310 void AllocateTwoByteString(Register result,
1315 Register length, 1311 Register length,
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after
2289 #error "Unsupported option" 2285 #error "Unsupported option"
2290 #define CODE_COVERAGE_STRINGIFY(x) #x 2286 #define CODE_COVERAGE_STRINGIFY(x) #x
2291 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2287 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2292 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2288 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2293 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2289 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2294 #else 2290 #else
2295 #define ACCESS_MASM(masm) masm-> 2291 #define ACCESS_MASM(masm) masm->
2296 #endif 2292 #endif
2297 2293
2298 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2294 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
OLDNEW
« no previous file with comments | « src/arm64/builtins-arm64.cc ('k') | src/arm64/macro-assembler-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698