| OLD | NEW |
| 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_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
| 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/base/flags.h" | 10 #include "src/base/flags.h" |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 Condition cc, | 211 Condition cc, |
| 212 Label* condition_met, | 212 Label* condition_met, |
| 213 Label::Distance condition_met_distance = Label::kFar); | 213 Label::Distance condition_met_distance = Label::kFar); |
| 214 | 214 |
| 215 // Check if object is in new space. Jumps if the object is not in new space. | 215 // Check if object is in new space. Jumps if the object is not in new space. |
| 216 // The register scratch can be object itself, but scratch will be clobbered. | 216 // The register scratch can be object itself, but scratch will be clobbered. |
| 217 void JumpIfNotInNewSpace(Register object, | 217 void JumpIfNotInNewSpace(Register object, |
| 218 Register scratch, | 218 Register scratch, |
| 219 Label* branch, | 219 Label* branch, |
| 220 Label::Distance distance = Label::kFar) { | 220 Label::Distance distance = Label::kFar) { |
| 221 InNewSpace(object, scratch, not_equal, branch, distance); | 221 InNewSpace(object, scratch, zero, branch, distance); |
| 222 } | 222 } |
| 223 | 223 |
| 224 // Check if object is in new space. Jumps if the object is in new space. | 224 // Check if object is in new space. Jumps if the object is in new space. |
| 225 // The register scratch can be object itself, but it will be clobbered. | 225 // The register scratch can be object itself, but it will be clobbered. |
| 226 void JumpIfInNewSpace(Register object, | 226 void JumpIfInNewSpace(Register object, |
| 227 Register scratch, | 227 Register scratch, |
| 228 Label* branch, | 228 Label* branch, |
| 229 Label::Distance distance = Label::kFar) { | 229 Label::Distance distance = Label::kFar) { |
| 230 InNewSpace(object, scratch, equal, branch, distance); | 230 InNewSpace(object, scratch, not_zero, branch, distance); |
| 231 } | 231 } |
| 232 | 232 |
| 233 // Check if an object has the black incremental marking color. Also uses rcx! | 233 // Check if an object has the black incremental marking color. Also uses rcx! |
| 234 void JumpIfBlack(Register object, Register bitmap_scratch, | 234 void JumpIfBlack(Register object, Register bitmap_scratch, |
| 235 Register mask_scratch, Label* on_black, | 235 Register mask_scratch, Label* on_black, |
| 236 Label::Distance on_black_distance); | 236 Label::Distance on_black_distance); |
| 237 | 237 |
| 238 // Checks the color of an object. If the object is white we jump to the | 238 // Checks the color of an object. If the object is white we jump to the |
| 239 // incremental marker. | 239 // incremental marker. |
| 240 void JumpIfWhite(Register value, Register scratch1, Register scratch2, | 240 void JumpIfWhite(Register value, Register scratch1, Register scratch2, |
| (...skipping 1509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1750 } \ | 1750 } \ |
| 1751 masm-> | 1751 masm-> |
| 1752 #else | 1752 #else |
| 1753 #define ACCESS_MASM(masm) masm-> | 1753 #define ACCESS_MASM(masm) masm-> |
| 1754 #endif | 1754 #endif |
| 1755 | 1755 |
| 1756 } // namespace internal | 1756 } // namespace internal |
| 1757 } // namespace v8 | 1757 } // namespace v8 |
| 1758 | 1758 |
| 1759 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1759 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
| OLD | NEW |