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

Side by Side Diff: src/arm/code-stubs-arm.cc

Issue 240053010: Return Object* instead of MaybeObject* from runtime calls. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: fix string allocation Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1773 matching lines...) Expand 10 before | Expand all | Expand 10 after
1784 __ bind(&handler_entry); 1784 __ bind(&handler_entry);
1785 handler_offset_ = handler_entry.pos(); 1785 handler_offset_ = handler_entry.pos();
1786 // Caught exception: Store result (exception) in the pending exception 1786 // Caught exception: Store result (exception) in the pending exception
1787 // field in the JSEnv and return a failure sentinel. Coming in here the 1787 // field in the JSEnv and return a failure sentinel. Coming in here the
1788 // fp will be invalid because the PushTryHandler below sets it to 0 to 1788 // fp will be invalid because the PushTryHandler below sets it to 0 to
1789 // signal the existence of the JSEntry frame. 1789 // signal the existence of the JSEntry frame.
1790 __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress, 1790 __ mov(ip, Operand(ExternalReference(Isolate::kPendingExceptionAddress,
1791 isolate))); 1791 isolate)));
1792 } 1792 }
1793 __ str(r0, MemOperand(ip)); 1793 __ str(r0, MemOperand(ip));
1794 __ mov(r0, Operand(reinterpret_cast<int32_t>(Failure::Exception()))); 1794 __ LoadRoot(r0, Heap::kExceptionRootIndex);
1795 __ b(&exit); 1795 __ b(&exit);
1796 1796
1797 // Invoke: Link this frame into the handler chain. There's only one 1797 // Invoke: Link this frame into the handler chain. There's only one
1798 // handler block in this code object, so its index is 0. 1798 // handler block in this code object, so its index is 0.
1799 __ bind(&invoke); 1799 __ bind(&invoke);
1800 // Must preserve r0-r4, r5-r6 are available. 1800 // Must preserve r0-r4, r5-r6 are available.
1801 __ PushTryHandler(StackHandler::JS_ENTRY, 0); 1801 __ PushTryHandler(StackHandler::JS_ENTRY, 0);
1802 // If an exception not caught by another handler occurs, this handler 1802 // If an exception not caught by another handler occurs, this handler
1803 // returns control to the code after the bl(&invoke) above, which 1803 // returns control to the code after the bl(&invoke) above, which
1804 // restores all kCalleeSaved registers (including cp and fp) to their 1804 // restores all kCalleeSaved registers (including cp and fp) to their
(...skipping 3450 matching lines...) Expand 10 before | Expand all | Expand 10 after
5255 MemOperand(fp, 6 * kPointerSize), 5255 MemOperand(fp, 6 * kPointerSize),
5256 NULL); 5256 NULL);
5257 } 5257 }
5258 5258
5259 5259
5260 #undef __ 5260 #undef __
5261 5261
5262 } } // namespace v8::internal 5262 } } // namespace v8::internal
5263 5263
5264 #endif // V8_TARGET_ARCH_ARM 5264 #endif // V8_TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698