| OLD | NEW | 
|---|
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 312 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 323                                           Label* fail) { | 323                                           Label* fail) { | 
| 324   mov(map, FieldOperand(heap_object, HeapObject::kMapOffset)); | 324   mov(map, FieldOperand(heap_object, HeapObject::kMapOffset)); | 
| 325   IsInstanceJSObjectType(map, scratch, fail); | 325   IsInstanceJSObjectType(map, scratch, fail); | 
| 326 } | 326 } | 
| 327 | 327 | 
| 328 | 328 | 
| 329 void MacroAssembler::IsInstanceJSObjectType(Register map, | 329 void MacroAssembler::IsInstanceJSObjectType(Register map, | 
| 330                                             Register scratch, | 330                                             Register scratch, | 
| 331                                             Label* fail) { | 331                                             Label* fail) { | 
| 332   movzx_b(scratch, FieldOperand(map, Map::kInstanceTypeOffset)); | 332   movzx_b(scratch, FieldOperand(map, Map::kInstanceTypeOffset)); | 
| 333   sub(Operand(scratch), Immediate(FIRST_JS_OBJECT_TYPE)); | 333   sub(Operand(scratch), Immediate(FIRST_OBJECT_CLASS_TYPE)); | 
| 334   cmp(scratch, LAST_JS_OBJECT_TYPE - FIRST_JS_OBJECT_TYPE); | 334   cmp(scratch, LAST_OBJECT_CLASS_TYPE - FIRST_OBJECT_CLASS_TYPE); | 
| 335   j(above, fail); | 335   j(above, fail); | 
| 336 } | 336 } | 
| 337 | 337 | 
| 338 | 338 | 
| 339 void MacroAssembler::FCmp() { | 339 void MacroAssembler::FCmp() { | 
| 340   if (CpuFeatures::IsSupported(CMOV)) { | 340   if (CpuFeatures::IsSupported(CMOV)) { | 
| 341     fucomip(); | 341     fucomip(); | 
| 342     ffree(0); | 342     ffree(0); | 
| 343     fincstp(); | 343     fincstp(); | 
| 344   } else { | 344   } else { | 
| (...skipping 1743 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2088 | 2088 | 
| 2089   // Check that the code was patched as expected. | 2089   // Check that the code was patched as expected. | 
| 2090   ASSERT(masm_.pc_ == address_ + size_); | 2090   ASSERT(masm_.pc_ == address_ + size_); | 
| 2091   ASSERT(masm_.reloc_info_writer.pos() == address_ + size_ + Assembler::kGap); | 2091   ASSERT(masm_.reloc_info_writer.pos() == address_ + size_ + Assembler::kGap); | 
| 2092 } | 2092 } | 
| 2093 | 2093 | 
| 2094 | 2094 | 
| 2095 } }  // namespace v8::internal | 2095 } }  // namespace v8::internal | 
| 2096 | 2096 | 
| 2097 #endif  // V8_TARGET_ARCH_IA32 | 2097 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW | 
|---|