10ee099beef2c2b38743d657b84a30b626d9178ecager@chromium.org// Copyright 2011 the V8 project authors. All rights reserved. 23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be 33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file. 443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen 5196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/v8.h" 643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen 793a47f4837f2137c8d8349250fd8e91da3108126jkummerow@chromium.org#if V8_TARGET_ARCH_ARM 89dfbea4c7d423c7bc1db94425cb78e7f7cf41f78erik.corry@gmail.com 9196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/assembler.h" 10196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/frames.h" 11196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/macro-assembler.h" 124b0feeef5d01dbc2948080b4f69daa37e1083461machenbach@chromium.org 134b0feeef5d01dbc2948080b4f69daa37e1083461machenbach@chromium.org#include "src/arm/assembler-arm-inl.h" 144b0feeef5d01dbc2948080b4f69daa37e1083461machenbach@chromium.org#include "src/arm/assembler-arm.h" 15196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/arm/macro-assembler-arm.h" 1643d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen 1771affb54842da76b24f0bb3184e9f0960523f89dkasperl@chromium.orgnamespace v8 { 1871affb54842da76b24f0bb3184e9f0960523f89dkasperl@chromium.orgnamespace internal { 1943d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen 2043d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen 214e308cf00936c6e7bead43e5141a04e37b49b9b5jkummerow@chromium.orgRegister JavaScriptFrame::fp_register() { return v8::internal::fp; } 224e308cf00936c6e7bead43e5141a04e37b49b9b5jkummerow@chromium.orgRegister JavaScriptFrame::context_register() { return cp; } 239ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.orgRegister JavaScriptFrame::constant_pool_pointer_register() { 24e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org DCHECK(FLAG_enable_ool_constant_pool); 259ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.org return pp; 269ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.org} 274e308cf00936c6e7bead43e5141a04e37b49b9b5jkummerow@chromium.org 284e308cf00936c6e7bead43e5141a04e37b49b9b5jkummerow@chromium.org 296e196bfaf0e555d0c835390bb6ebc0a74484491dulan@chromium.orgRegister StubFailureTrampolineFrame::fp_register() { return v8::internal::fp; } 306e196bfaf0e555d0c835390bb6ebc0a74484491dulan@chromium.orgRegister StubFailureTrampolineFrame::context_register() { return cp; } 319ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.orgRegister StubFailureTrampolineFrame::constant_pool_pointer_register() { 32e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org DCHECK(FLAG_enable_ool_constant_pool); 339ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.org return pp; 349ca3017c616a778baff6d57c68d6d4746a130036ulan@chromium.org} 356e196bfaf0e555d0c835390bb6ebc0a74484491dulan@chromium.org 366e196bfaf0e555d0c835390bb6ebc0a74484491dulan@chromium.org 379cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.orgObject*& ExitFrame::constant_pool_slot() const { 38e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org DCHECK(FLAG_enable_ool_constant_pool); 399cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.org const int offset = ExitFrameConstants::kConstantPoolOffset; 409cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.org return Memory::Object_at(fp() + offset); 419cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.org} 429cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.org 439cbaabda8b4daeb06759ace10c926ab55bb69d7bulan@chromium.org 4443d26ecc3563a46f62a0224030667c8f8f3f6cebchristian.plesner.hansen} } // namespace v8::internal 459dfbea4c7d423c7bc1db94425cb78e7f7cf41f78erik.corry@gmail.com 469dfbea4c7d423c7bc1db94425cb78e7f7cf41f78erik.corry@gmail.com#endif // V8_TARGET_ARCH_ARM 47