OLD | NEW |
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 6936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6947 Label* need_gc, | 6947 Label* need_gc, |
6948 Register scratch1, | 6948 Register scratch1, |
6949 Register scratch2, | 6949 Register scratch2, |
6950 Register result) { | 6950 Register result) { |
6951 // Allocate heap number in new space. | 6951 // Allocate heap number in new space. |
6952 __ AllocateObjectInNewSpace(HeapNumber::kSize, | 6952 __ AllocateObjectInNewSpace(HeapNumber::kSize, |
6953 result, | 6953 result, |
6954 scratch1, | 6954 scratch1, |
6955 scratch2, | 6955 scratch2, |
6956 need_gc, | 6956 need_gc, |
6957 false); | 6957 TAG_OBJECT); |
6958 | 6958 |
6959 // Set the map and tag the result. | 6959 // Set the map. |
6960 __ mov(Operand(result, HeapObject::kMapOffset), | 6960 __ mov(FieldOperand(result, HeapObject::kMapOffset), |
6961 Immediate(Factory::heap_number_map())); | 6961 Immediate(Factory::heap_number_map())); |
6962 __ or_(Operand(result), Immediate(kHeapObjectTag)); | |
6963 } | 6962 } |
6964 | 6963 |
6965 | 6964 |
6966 void FloatingPointHelper::LoadFloatOperand(MacroAssembler* masm, | 6965 void FloatingPointHelper::LoadFloatOperand(MacroAssembler* masm, |
6967 Register number) { | 6966 Register number) { |
6968 Label load_smi, done; | 6967 Label load_smi, done; |
6969 | 6968 |
6970 __ test(number, Immediate(kSmiTagMask)); | 6969 __ test(number, Immediate(kSmiTagMask)); |
6971 __ j(zero, &load_smi, not_taken); | 6970 __ j(zero, &load_smi, not_taken); |
6972 __ fld_d(FieldOperand(number, HeapNumber::kValueOffset)); | 6971 __ fld_d(FieldOperand(number, HeapNumber::kValueOffset)); |
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7870 | 7869 |
7871 int CompareStub::MinorKey() { | 7870 int CompareStub::MinorKey() { |
7872 // Encode the two parameters in a unique 16 bit value. | 7871 // Encode the two parameters in a unique 16 bit value. |
7873 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); | 7872 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); |
7874 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); | 7873 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); |
7875 } | 7874 } |
7876 | 7875 |
7877 #undef __ | 7876 #undef __ |
7878 | 7877 |
7879 } } // namespace v8::internal | 7878 } } // namespace v8::internal |
OLD | NEW |