ic-compiler-x87.cc revision 014dc512cdd3e367bee49a713fdc5ed92584a3e5
1// Copyright 2012 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#if V8_TARGET_ARCH_X87 6 7#include "src/ic/ic.h" 8#include "src/ic/ic-compiler.h" 9 10namespace v8 { 11namespace internal { 12 13#define __ ACCESS_MASM(masm) 14 15 16void PropertyICCompiler::GenerateRuntimeSetProperty( 17 MacroAssembler* masm, LanguageMode language_mode) { 18 // Return address is on the stack. 19 DCHECK(!ebx.is(StoreDescriptor::ReceiverRegister()) && 20 !ebx.is(StoreDescriptor::NameRegister()) && 21 !ebx.is(StoreDescriptor::ValueRegister())); 22 __ pop(ebx); 23 __ push(StoreDescriptor::ReceiverRegister()); 24 __ push(StoreDescriptor::NameRegister()); 25 __ push(StoreDescriptor::ValueRegister()); 26 __ push(Immediate(Smi::FromInt(language_mode))); 27 __ push(ebx); // return address 28 29 // Do tail-call to runtime routine. 30 __ TailCallRuntime(Runtime::kSetProperty); 31} 32 33 34#undef __ 35} // namespace internal 36} // namespace v8 37 38#endif // V8_TARGET_ARCH_X87 39