Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 388 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 399 } | 399 } |
| 400 | 400 |
| 401 | 401 |
| 402 void MacroAssembler::Set(const Operand& dst, const Immediate& x) { | 402 void MacroAssembler::Set(const Operand& dst, const Immediate& x) { |
| 403 mov(dst, x); | 403 mov(dst, x); |
| 404 } | 404 } |
| 405 | 405 |
| 406 | 406 |
| 407 bool MacroAssembler::IsUnsafeImmediate(const Immediate& x) { | 407 bool MacroAssembler::IsUnsafeImmediate(const Immediate& x) { |
| 408 static const int kMaxImmediateBits = 17; | 408 static const int kMaxImmediateBits = 17; |
| 409 if (x.rmode_ != RelocInfo::NONE) return false; | 409 if (RelocInfo::IsNone(x.rmode_)) return false; |
|
ulan
2013/01/03 12:46:22
This should be:
if (!RelocInfo::IsNone(x.rmode_))
JF
2013/01/03 16:25:03
Ah yes, sorry about that! Did you also fix that on
| |
| 410 return !is_intn(x.x_, kMaxImmediateBits); | 410 return !is_intn(x.x_, kMaxImmediateBits); |
| 411 } | 411 } |
| 412 | 412 |
| 413 | 413 |
| 414 void MacroAssembler::SafeSet(Register dst, const Immediate& x) { | 414 void MacroAssembler::SafeSet(Register dst, const Immediate& x) { |
| 415 if (IsUnsafeImmediate(x) && jit_cookie() != 0) { | 415 if (IsUnsafeImmediate(x) && jit_cookie() != 0) { |
| 416 Set(dst, Immediate(x.x_ ^ jit_cookie())); | 416 Set(dst, Immediate(x.x_ ^ jit_cookie())); |
| 417 xor_(dst, jit_cookie()); | 417 xor_(dst, jit_cookie()); |
| 418 } else { | 418 } else { |
| 419 Set(dst, x); | 419 Set(dst, x); |
| (...skipping 2627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3047 j(not_equal, call_runtime); | 3047 j(not_equal, call_runtime); |
| 3048 | 3048 |
| 3049 mov(ecx, FieldOperand(ebx, Map::kPrototypeOffset)); | 3049 mov(ecx, FieldOperand(ebx, Map::kPrototypeOffset)); |
| 3050 cmp(ecx, isolate()->factory()->null_value()); | 3050 cmp(ecx, isolate()->factory()->null_value()); |
| 3051 j(not_equal, &next); | 3051 j(not_equal, &next); |
| 3052 } | 3052 } |
| 3053 | 3053 |
| 3054 } } // namespace v8::internal | 3054 } } // namespace v8::internal |
| 3055 | 3055 |
| 3056 #endif // V8_TARGET_ARCH_IA32 | 3056 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |