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

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

Issue 2274001: Revert r4715. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 6 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/ic-arm.cc ('k') | src/arm/macro-assembler-arm.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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 107
108 108
109 // Check if object is in new space. 109 // Check if object is in new space.
110 // scratch can be object itself, but it will be clobbered. 110 // scratch can be object itself, but it will be clobbered.
111 void InNewSpace(Register object, 111 void InNewSpace(Register object,
112 Register scratch, 112 Register scratch,
113 Condition cc, // eq for new space, ne otherwise 113 Condition cc, // eq for new space, ne otherwise
114 Label* branch); 114 Label* branch);
115 115
116 116
117 // For the page containing |object| mark the region covering [object+offset] 117 // Set the remebered set bit for an offset into an
118 // dirty. The object address must be in the first 8K of an allocated page. 118 // object. RecordWriteHelper only works if the object is not in new
119 // space.
119 void RecordWriteHelper(Register object, Register offset, Register scracth); 120 void RecordWriteHelper(Register object, Register offset, Register scracth);
120 121
121 // For the page containing |object| mark the region covering [object+offset] 122 // Sets the remembered set bit for [address+offset], where address is the
122 // dirty. The object address must be in the first 8K of an allocated page. 123 // address of the heap object 'object'. The address must be in the first 8K
123 // The 'scratch' register is used in the implementation and all 3 registers 124 // of an allocated page. The 'scratch' register is used in the
124 // are clobbered by the operation, as well as the ip register. 125 // implementation and all 3 registers are clobbered by the operation, as
126 // well as the ip register.
125 void RecordWrite(Register object, Register offset, Register scratch); 127 void RecordWrite(Register object, Register offset, Register scratch);
126 128
127 // Push two registers. Pushes leftmost register first (to highest address). 129 // Push two registers. Pushes leftmost register first (to highest address).
128 void Push(Register src1, Register src2, Condition cond = al) { 130 void Push(Register src1, Register src2, Condition cond = al) {
129 ASSERT(!src1.is(src2)); 131 ASSERT(!src1.is(src2));
130 if (src1.code() > src2.code()) { 132 if (src1.code() > src2.code()) {
131 stm(db_w, sp, src1.bit() | src2.bit(), cond); 133 stm(db_w, sp, src1.bit() | src2.bit(), cond);
132 } else { 134 } else {
133 str(src1, MemOperand(sp, 4, NegPreIndex), cond); 135 str(src1, MemOperand(sp, 4, NegPreIndex), cond);
134 str(src2, MemOperand(sp, 4, NegPreIndex), cond); 136 str(src2, MemOperand(sp, 4, NegPreIndex), cond);
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 645 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
644 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 646 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
645 #else 647 #else
646 #define ACCESS_MASM(masm) masm-> 648 #define ACCESS_MASM(masm) masm->
647 #endif 649 #endif
648 650
649 651
650 } } // namespace v8::internal 652 } } // namespace v8::internal
651 653
652 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 654 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698