|
Add Dart_PropagateError.
This function can be used in native functions to properly pass all
errors up the stack.
Set the long jump base in the Compiler instead of outside of the
compiler. A bunch of errors that used to be propagated through the
sticky_error are now propagated through return values. This includes
all of the DartEntry and DartLibraryCall functions.
In particular, we no longer use the long jump to cross dart frames.
Instead errors are propagated across dart frames using the same
mechanism that we use for unhandled exceptions. I've added assertions
to make sure that we only use the long jump when it is "safe".
Committed: https://code.google.com/p/dart/source/detail?r=3815
Total comments: 48
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+952 lines, -696 lines) |
Patch |
|
M |
runtime/include/dart_api.h
|
View
|
1
2
3
4
|
1 chunk |
+24 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/lib/isolate.cc
|
View
|
1
2
3
4
5
|
6 chunks |
+21 lines, -18 lines |
0 comments
|
Download
|
|
M |
runtime/vm/ast.cc
|
View
|
1
2
3
4
|
1 chunk |
+11 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/bootstrap.h
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/bootstrap.cc
|
View
|
1
2
3
4
|
1 chunk |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/bootstrap_nocorelib.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator.cc
|
View
|
1
2
3
4
5
|
9 chunks |
+41 lines, -25 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator_ia32.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator_ia32_test.cc
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator_x64.cc
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator_x64_test.cc
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/compiler.h
|
View
|
1
2
3
4
|
1 chunk |
+16 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/compiler.cc
|
View
|
1
2
3
4
|
3 chunks |
+230 lines, -177 lines |
0 comments
|
Download
|
|
M |
runtime/vm/cpu.h
|
View
|
1
2
3
4
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/cpu_arm.cc
|
View
|
1
2
3
4
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/cpu_ia32.cc
|
View
|
1
2
3
4
|
4 chunks |
+9 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/cpu_x64.cc
|
View
|
1
2
3
4
|
3 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart.h
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/dart.cc
|
View
|
1
2
3
4
|
4 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl.cc
|
View
|
1
2
3
4
5
|
22 chunks |
+142 lines, -265 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl_test.cc
|
View
|
1
2
3
4
|
1 chunk |
+62 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_entry.h
|
View
|
1
2
3
4
|
2 chunks |
+22 lines, -22 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_entry.cc
|
View
|
1
2
3
4
|
11 chunks |
+31 lines, -19 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_entry_test.cc
|
View
|
1
2
3
4
|
2 chunks |
+72 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/debugger.h
|
View
|
1
2
3
4
|
2 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/debugger.cc
|
View
|
1
2
3
4
|
4 chunks |
+13 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/debugger_api_impl.cc
|
View
|
1
2
3
4
|
3 chunks |
+18 lines, -24 lines |
0 comments
|
Download
|
|
M |
runtime/vm/exceptions.h
|
View
|
1
2
3
4
5
|
2 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/exceptions.cc
|
View
|
1
2
3
4
5
|
3 chunks |
+62 lines, -7 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.h
|
View
|
1
2
3
4
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.cc
|
View
|
1
2
3
4
|
2 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/longjump.h
|
View
|
1
2
3
4
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/longjump.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
2
3
4
|
5 chunks |
+16 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object_store.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object_store.cc
|
View
|
1
2
3
4
|
2 chunks |
+16 lines, -14 lines |
0 comments
|
Download
|
|
M |
runtime/vm/parser.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/parser.cc
|
View
|
1
2
3
4
|
8 chunks |
+53 lines, -21 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stack_frame.cc
|
View
|
1
2
3
4
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/unit_test.h
|
View
|
1
2
3
4
|
2 chunks |
+10 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/unit_test.cc
|
View
|
1
2
3
4
|
1 chunk |
+4 lines, -24 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|