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

Side by Side Diff: runtime/vm/code_generator.cc

Issue 1676363002: Fix product build on Linux clang. (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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/code_patcher.h" 9 #include "vm/code_patcher.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after
699 if (result.IsError()) { 699 if (result.IsError()) {
700 Exceptions::PropagateError(Error::Cast(result)); 700 Exceptions::PropagateError(Error::Cast(result));
701 } 701 }
702 } 702 }
703 703
704 704
705 // Gets called from debug stub when code reaches a breakpoint 705 // Gets called from debug stub when code reaches a breakpoint
706 // set on a runtime stub call. 706 // set on a runtime stub call.
707 DEFINE_RUNTIME_ENTRY(BreakpointRuntimeHandler, 0) { 707 DEFINE_RUNTIME_ENTRY(BreakpointRuntimeHandler, 0) {
708 if (!FLAG_support_debugger) { 708 if (!FLAG_support_debugger) {
709 UNREACHABLE(); 709 UNREACHABLE();
Cutch 2016/02/08 19:02:55 I'm pretty sure all that is needed is a return sta
rmacnak 2016/02/08 19:05:37 Yes, much better.
710 } 710 }
711 #if !defined(PRODUCT)
711 DartFrameIterator iterator; 712 DartFrameIterator iterator;
712 StackFrame* caller_frame = iterator.NextFrame(); 713 StackFrame* caller_frame = iterator.NextFrame();
713 ASSERT(caller_frame != NULL); 714 ASSERT(caller_frame != NULL);
714 const Code& orig_stub = Code::Handle( 715 const Code& orig_stub = Code::Handle(
715 isolate->debugger()->GetPatchedStubAddress(caller_frame->pc())); 716 isolate->debugger()->GetPatchedStubAddress(caller_frame->pc()));
716 const Error& error = Error::Handle(isolate->debugger()->SignalBpReached()); 717 const Error& error = Error::Handle(isolate->debugger()->SignalBpReached());
717 if (!error.IsNull()) { 718 if (!error.IsNull()) {
718 Exceptions::PropagateError(error); 719 Exceptions::PropagateError(error);
719 UNREACHABLE(); 720 UNREACHABLE();
720 } 721 }
721 arguments.SetReturn(orig_stub); 722 arguments.SetReturn(orig_stub);
723 #endif // !PRODUCT
722 } 724 }
723 725
724 726
725 DEFINE_RUNTIME_ENTRY(SingleStepHandler, 0) { 727 DEFINE_RUNTIME_ENTRY(SingleStepHandler, 0) {
726 if (!FLAG_support_debugger) { 728 if (!FLAG_support_debugger) {
727 UNREACHABLE(); 729 UNREACHABLE();
728 } 730 }
731 #if !defined(PRODUCT)
729 const Error& error = 732 const Error& error =
730 Error::Handle(isolate->debugger()->DebuggerStepCallback()); 733 Error::Handle(isolate->debugger()->DebuggerStepCallback());
731 if (!error.IsNull()) { 734 if (!error.IsNull()) {
732 Exceptions::PropagateError(error); 735 Exceptions::PropagateError(error);
733 UNREACHABLE(); 736 UNREACHABLE();
734 } 737 }
738 #endif // !PRODUCT
735 } 739 }
736 740
737 741
738 // An instance call of the form o.f(...) could not be resolved. Check if 742 // An instance call of the form o.f(...) could not be resolved. Check if
739 // there is a getter with the same name. If so, invoke it. If the value is 743 // there is a getter with the same name. If so, invoke it. If the value is
740 // a closure, invoke it with the given arguments. If the value is a 744 // a closure, invoke it with the given arguments. If the value is a
741 // non-closure, attempt to invoke "call" on it. 745 // non-closure, attempt to invoke "call" on it.
742 static bool ResolveCallThroughGetter(const Instance& receiver, 746 static bool ResolveCallThroughGetter(const Instance& receiver,
743 const Class& receiver_class, 747 const Class& receiver_class,
744 const String& target_name, 748 const String& target_name,
(...skipping 1151 matching lines...) Expand 10 before | Expand all | Expand 10 after
1896 const intptr_t elm_size = old_data.ElementSizeInBytes(); 1900 const intptr_t elm_size = old_data.ElementSizeInBytes();
1897 const TypedData& new_data = 1901 const TypedData& new_data =
1898 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); 1902 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld));
1899 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); 1903 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size);
1900 typed_data_cell.SetAt(0, new_data); 1904 typed_data_cell.SetAt(0, new_data);
1901 arguments.SetReturn(new_data); 1905 arguments.SetReturn(new_data);
1902 } 1906 }
1903 1907
1904 1908
1905 } // namespace dart 1909 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698