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 1687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1698 CheckPrototypes(Handle<JSObject>::cast(object), edx, holder, ebx, eax, edi, | 1698 CheckPrototypes(Handle<JSObject>::cast(object), edx, holder, ebx, eax, edi, |
1699 name, &miss); | 1699 name, &miss); |
1700 } else { | 1700 } else { |
1701 ASSERT(cell->value() == *function); | 1701 ASSERT(cell->value() == *function); |
1702 GenerateGlobalReceiverCheck(Handle<JSObject>::cast(object), holder, name, | 1702 GenerateGlobalReceiverCheck(Handle<JSObject>::cast(object), holder, name, |
1703 &miss); | 1703 &miss); |
1704 GenerateLoadFunctionFromCell(cell, function, &miss); | 1704 GenerateLoadFunctionFromCell(cell, function, &miss); |
1705 } | 1705 } |
1706 | 1706 |
1707 Handle<AllocationSite> site = isolate()->factory()->NewAllocationSite(); | 1707 Handle<AllocationSite> site = isolate()->factory()->NewAllocationSite(); |
1708 site->set_transition_info(Smi::FromInt(GetInitialFastElementsKind())); | 1708 site->SetElementsKind(GetInitialFastElementsKind()); |
1709 Handle<Cell> site_feedback_cell = isolate()->factory()->NewCell(site); | 1709 Handle<Cell> site_feedback_cell = isolate()->factory()->NewCell(site); |
1710 __ mov(eax, Immediate(argc)); | 1710 __ mov(eax, Immediate(argc)); |
1711 __ mov(ebx, site_feedback_cell); | 1711 __ mov(ebx, site_feedback_cell); |
1712 __ mov(edi, function); | 1712 __ mov(edi, function); |
1713 | 1713 |
1714 ArrayConstructorStub stub(isolate()); | 1714 ArrayConstructorStub stub(isolate()); |
1715 __ TailCallStub(&stub); | 1715 __ TailCallStub(&stub); |
1716 | 1716 |
1717 __ bind(&miss); | 1717 __ bind(&miss); |
1718 GenerateMissBranch(); | 1718 GenerateMissBranch(); |
(...skipping 1520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3239 // ----------------------------------- | 3239 // ----------------------------------- |
3240 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_MissForceGeneric); | 3240 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_MissForceGeneric); |
3241 } | 3241 } |
3242 | 3242 |
3243 | 3243 |
3244 #undef __ | 3244 #undef __ |
3245 | 3245 |
3246 } } // namespace v8::internal | 3246 } } // namespace v8::internal |
3247 | 3247 |
3248 #endif // V8_TARGET_ARCH_IA32 | 3248 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |