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

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

Issue 1632913003: [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: mips ports Created 4 years, 10 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
« no previous file with comments | « src/mips/simulator-mips.cc ('k') | src/mips64/macro-assembler-mips64.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_MIPS_MACRO_ASSEMBLER_MIPS_H_ 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/globals.h" 9 #include "src/globals.h"
10 #include "src/mips64/assembler-mips64.h" 10 #include "src/mips64/assembler-mips64.h"
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 Register scratch, 384 Register scratch,
385 int mask, 385 int mask,
386 Condition cc, 386 Condition cc,
387 Label* condition_met); 387 Label* condition_met);
388 388
389 // Check if object is in new space. Jumps if the object is not in new space. 389 // Check if object is in new space. Jumps if the object is not in new space.
390 // The register scratch can be object itself, but it will be clobbered. 390 // The register scratch can be object itself, but it will be clobbered.
391 void JumpIfNotInNewSpace(Register object, 391 void JumpIfNotInNewSpace(Register object,
392 Register scratch, 392 Register scratch,
393 Label* branch) { 393 Label* branch) {
394 InNewSpace(object, scratch, ne, branch); 394 InNewSpace(object, scratch, eq, branch);
395 } 395 }
396 396
397 // Check if object is in new space. Jumps if the object is in new space. 397 // Check if object is in new space. Jumps if the object is in new space.
398 // The register scratch can be object itself, but scratch will be clobbered. 398 // The register scratch can be object itself, but scratch will be clobbered.
399 void JumpIfInNewSpace(Register object, 399 void JumpIfInNewSpace(Register object,
400 Register scratch, 400 Register scratch,
401 Label* branch) { 401 Label* branch) {
402 InNewSpace(object, scratch, eq, branch); 402 InNewSpace(object, scratch, ne, branch);
403 } 403 }
404 404
405 // Check if an object has a given incremental marking color. 405 // Check if an object has a given incremental marking color.
406 void HasColor(Register object, 406 void HasColor(Register object,
407 Register scratch0, 407 Register scratch0,
408 Register scratch1, 408 Register scratch1,
409 Label* has_color, 409 Label* has_color,
410 int first_bit, 410 int first_bit,
411 int second_bit); 411 int second_bit);
412 412
(...skipping 1423 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 InvokeFlag flag, 1836 InvokeFlag flag,
1837 const CallWrapper& call_wrapper); 1837 const CallWrapper& call_wrapper);
1838 1838
1839 void InitializeNewString(Register string, 1839 void InitializeNewString(Register string,
1840 Register length, 1840 Register length,
1841 Heap::RootListIndex map_index, 1841 Heap::RootListIndex map_index,
1842 Register scratch1, 1842 Register scratch1,
1843 Register scratch2); 1843 Register scratch2);
1844 1844
1845 // Helper for implementing JumpIfNotInNewSpace and JumpIfInNewSpace. 1845 // Helper for implementing JumpIfNotInNewSpace and JumpIfInNewSpace.
1846 void InNewSpace(Register object, 1846 void InNewSpace(Register object, Register scratch,
1847 Register scratch, 1847 Condition cond, // ne for new space, eq otherwise.
1848 Condition cond, // eq for new space, ne otherwise.
1849 Label* branch); 1848 Label* branch);
1850 1849
1851 // Helper for finding the mark bits for an address. Afterwards, the 1850 // Helper for finding the mark bits for an address. Afterwards, the
1852 // bitmap register points at the word with the mark bits and the mask 1851 // bitmap register points at the word with the mark bits and the mask
1853 // the position of the first bit. Leaves addr_reg unchanged. 1852 // the position of the first bit. Leaves addr_reg unchanged.
1854 inline void GetMarkBits(Register addr_reg, 1853 inline void GetMarkBits(Register addr_reg,
1855 Register bitmap_reg, 1854 Register bitmap_reg,
1856 Register mask_reg); 1855 Register mask_reg);
1857 1856
1858 // Compute memory operands for safepoint stack slots. 1857 // Compute memory operands for safepoint stack slots.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1945 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1944 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1946 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1945 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1947 #else 1946 #else
1948 #define ACCESS_MASM(masm) masm-> 1947 #define ACCESS_MASM(masm) masm->
1949 #endif 1948 #endif
1950 1949
1951 } // namespace internal 1950 } // namespace internal
1952 } // namespace v8 1951 } // namespace v8
1953 1952
1954 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 1953 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/simulator-mips.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698