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

Side by Side Diff: src/builtins/arm/builtins-arm.cc

Issue 2529173002: [Heap] Remove concept of MarkingParity. (Closed)
Patch Set: Fix arm Created 4 years 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
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 #if V8_TARGET_ARCH_ARM 5 #if V8_TARGET_ARCH_ARM
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 1549 matching lines...) Expand 10 before | Expand all | Expand 10 after
1560 FrameScope scope(masm, StackFrame::MANUAL); 1560 FrameScope scope(masm, StackFrame::MANUAL);
1561 __ stm(db_w, sp, r0.bit() | r1.bit() | r3.bit() | fp.bit() | lr.bit()); 1561 __ stm(db_w, sp, r0.bit() | r1.bit() | r3.bit() | fp.bit() | lr.bit());
1562 __ PrepareCallCFunction(2, 0, r2); 1562 __ PrepareCallCFunction(2, 0, r2);
1563 __ mov(r1, Operand(ExternalReference::isolate_address(masm->isolate()))); 1563 __ mov(r1, Operand(ExternalReference::isolate_address(masm->isolate())));
1564 __ CallCFunction( 1564 __ CallCFunction(
1565 ExternalReference::get_make_code_young_function(masm->isolate()), 2); 1565 ExternalReference::get_make_code_young_function(masm->isolate()), 2);
1566 __ ldm(ia_w, sp, r0.bit() | r1.bit() | r3.bit() | fp.bit() | lr.bit()); 1566 __ ldm(ia_w, sp, r0.bit() | r1.bit() | r3.bit() | fp.bit() | lr.bit());
1567 __ mov(pc, r0); 1567 __ mov(pc, r0);
1568 } 1568 }
1569 1569
1570 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C) \ 1570 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C) \
1571 void Builtins::Generate_Make##C##CodeYoungAgainEvenMarking( \ 1571 void Builtins::Generate_Make##C##CodeYoungAgain(MacroAssembler* masm) { \
1572 MacroAssembler* masm) { \ 1572 GenerateMakeCodeYoungAgainCommon(masm); \
1573 GenerateMakeCodeYoungAgainCommon(masm); \
1574 } \
1575 void Builtins::Generate_Make##C##CodeYoungAgainOddMarking( \
1576 MacroAssembler* masm) { \
1577 GenerateMakeCodeYoungAgainCommon(masm); \
1578 } 1573 }
1579 CODE_AGE_LIST(DEFINE_CODE_AGE_BUILTIN_GENERATOR) 1574 CODE_AGE_LIST(DEFINE_CODE_AGE_BUILTIN_GENERATOR)
1580 #undef DEFINE_CODE_AGE_BUILTIN_GENERATOR 1575 #undef DEFINE_CODE_AGE_BUILTIN_GENERATOR
1581 1576
1582 void Builtins::Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm) { 1577 void Builtins::Generate_MarkCodeAsExecutedOnce(MacroAssembler* masm) {
1583 // For now, as in GenerateMakeCodeYoungAgainCommon, we are relying on the fact 1578 // For now, as in GenerateMakeCodeYoungAgainCommon, we are relying on the fact
1584 // that make_code_young doesn't do any garbage collection which allows us to 1579 // that make_code_young doesn't do any garbage collection which allows us to
1585 // save/restore the registers without worrying about which of them contain 1580 // save/restore the registers without worrying about which of them contain
1586 // pointers. 1581 // pointers.
1587 1582
(...skipping 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after
2868 __ bkpt(0); 2863 __ bkpt(0);
2869 } 2864 }
2870 } 2865 }
2871 2866
2872 #undef __ 2867 #undef __
2873 2868
2874 } // namespace internal 2869 } // namespace internal
2875 } // namespace v8 2870 } // namespace v8
2876 2871
2877 #endif // V8_TARGET_ARCH_ARM 2872 #endif // V8_TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698