16474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org// Copyright 2014 the V8 project authors. All rights reserved.
26474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be
36474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org// found in the LICENSE file.
46474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
56474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#include "src/v8.h"
66474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
76474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#if V8_TARGET_ARCH_X87
86474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
96474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#include "src/ic/access-compiler.h"
106474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
116474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.orgnamespace v8 {
126474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.orgnamespace internal {
136474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
146474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#define __ ACCESS_MASM(masm)
156474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
166474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.orgvoid PropertyAccessCompiler::GenerateTailCall(MacroAssembler* masm,
176474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org                                              Handle<Code> code) {
186474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  __ jmp(code, RelocInfo::CODE_TARGET);
196474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org}
206474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
216474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
226474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.orgRegister* PropertyAccessCompiler::load_calling_convention() {
236474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  // receiver, name, scratch1, scratch2, scratch3, scratch4.
2442ed2fc449e83fab2ccbf1b769a5e83715c9d783machenbach@chromium.org  Register receiver = LoadDescriptor::ReceiverRegister();
2542ed2fc449e83fab2ccbf1b769a5e83715c9d783machenbach@chromium.org  Register name = LoadDescriptor::NameRegister();
266474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  static Register registers[] = {receiver, name, ebx, eax, edi, no_reg};
276474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  return registers;
286474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org}
296474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
306474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
316474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.orgRegister* PropertyAccessCompiler::store_calling_convention() {
326474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  // receiver, name, scratch1, scratch2, scratch3.
3342ed2fc449e83fab2ccbf1b769a5e83715c9d783machenbach@chromium.org  Register receiver = StoreDescriptor::ReceiverRegister();
3442ed2fc449e83fab2ccbf1b769a5e83715c9d783machenbach@chromium.org  Register name = StoreDescriptor::NameRegister();
3542ed2fc449e83fab2ccbf1b769a5e83715c9d783machenbach@chromium.org  DCHECK(ebx.is(ElementTransitionAndStoreDescriptor::MapRegister()));
366474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  static Register registers[] = {receiver, name, ebx, edi, no_reg};
376474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org  return registers;
386474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org}
396474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
406474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#undef __
416474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org}
426474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org}  // namespace v8::internal
436474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org
446474a1cfee1cdad45de5cc96960085e1c7daf11cmachenbach@chromium.org#endif  // V8_TARGET_ARCH_X87
45