Files
sdk/runtime/vm/signal_handler_win.cc
T
zra@google.com 816bf5af2e Fixes for the profiler on arm64.
On arm64, in Dart code, R18(SP) is the stack pointer.
In C++ code, R31(CSP) is the stack pointer.
The profiler must choose the right one when performing
its bounds checks.

This change also fixes a bug in the InvokeDartCode stub
on arm64 so that CSP is set to the Isolate's stack
limit immediately, rather than a bit later. When it was
set a bit later, if a profiler interrupt came in in the
interim, the stack would be smashed.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//583683002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40502 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 16:25:16 +00:00

43 lines
887 B
C++

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/globals.h"
#include "vm/signal_handler.h"
#if defined(TARGET_OS_WINDOWS)
namespace dart {
uintptr_t SignalHandler::GetProgramCounter(const mcontext_t& mcontext) {
UNIMPLEMENTED();
return 0;
}
uintptr_t SignalHandler::GetFramePointer(const mcontext_t& mcontext) {
UNIMPLEMENTED();
return 0;
}
uintptr_t SignalHandler::GetCStackPointer(const mcontext_t& mcontext) {
UNIMPLEMENTED();
return 0;
}
uintptr_t SignalHandler::GetDartStackPointer(const mcontext_t& mcontext) {
UNIMPLEMENTED();
return 0;
}
void SignalHandler::Install(SignalAction action) {
UNIMPLEMENTED();
}
} // namespace dart
#endif // defined(TARGET_OS_WINDOWS)