Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: runtime/vm/native_entry.cc

Issue 1728913002: Fix running on debug + clang + ARM64 + --link-natives-lazily. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/native_entry.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/native_entry.cc
diff --git a/runtime/vm/native_entry.cc b/runtime/vm/native_entry.cc
index a28a77960468e4057a9796e065f58092bc358b8a..a5c79d3731a4d6c63153b04bc5f34e0c02157606 100644
--- a/runtime/vm/native_entry.cc
+++ b/runtime/vm/native_entry.cc
@@ -120,6 +120,12 @@ void NativeEntry::PropagateErrors(NativeArguments* arguments) {
void NativeEntry::NativeCallWrapper(Dart_NativeArguments args,
Dart_NativeFunction func) {
CHECK_STACK_ALIGNMENT;
+ NativeCallWrapperNoStackCheck(args, func);
+}
+
+
+void NativeEntry::NativeCallWrapperNoStackCheck(Dart_NativeArguments args,
+ Dart_NativeFunction func) {
VERIFY_ON_TRANSITION;
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
/* Tell MemorySanitizer 'arguments' is initialized by generated code. */
@@ -281,7 +287,9 @@ void NativeEntry::LinkNativeCall(Dart_NativeArguments args) {
// Tail-call resolved target.
if (call_through_wrapper) {
- NativeEntry::NativeCallWrapper(
+ // Because this call is within a compilation unit, Clang doesn't respect
+ // the ABI alignment here.
+ NativeEntry::NativeCallWrapperNoStackCheck(
args, reinterpret_cast<Dart_NativeFunction>(target_function));
} else {
target_function(arguments);
« no previous file with comments | « runtime/vm/native_entry.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698