9da62c5fea
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". Review URL: https://chromiumcodereview.appspot.com//9169102 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3815 260f80e4-7a28-3924-810f-c04153c831b5