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