Changeset 34335 in webkit for trunk/JavaScriptCore/VM
- Timestamp:
- Jun 3, 2008, 12:46:41 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/Machine.cpp
r34319 r34335 2256 2256 } 2257 2257 BEGIN_OPCODE(op_catch) { 2258 /* catch ex(r) 2259 2260 Retrieves the VMs current exception and puts it in register 2261 ex. This is only valid after an exception has been raised, 2262 and usually forms the beginning of an exception handler. 2263 */ 2258 2264 ASSERT(exceptionValue); 2259 2265 ASSERT(!exec->hadException()); 2260 int r0= (++vPC)->u.operand;2261 r[ r0].u.jsValue = exceptionValue;2266 int ex = (++vPC)->u.operand; 2267 r[ex].u.jsValue = exceptionValue; 2262 2268 exceptionValue = 0; 2269 2263 2270 ++vPC; 2264 2271 NEXT_OPCODE; 2265 2272 } 2266 2273 BEGIN_OPCODE(op_throw) { 2267 int e = (++vPC)->u.operand; 2268 exceptionValue = r[e].u.jsValue; 2274 /* throw ex(r) 2275 2276 Throws register ex as an exception. This involves three 2277 steps: first, it is set as the current exception in the 2278 VM's internal state, then the stack is unwound until an 2279 exception handler or a native code boundary is found, and 2280 then control resumes at the exception handler if any or 2281 else the script returns control to the nearest native caller. 2282 */ 2283 2284 int ex = (++vPC)->u.operand; 2285 exceptionValue = r[ex].u.jsValue; 2269 2286 handlerVPC = throwException(exec, exceptionValue, registerBase, vPC, codeBlock, k, scopeChain, r); 2270 2287 if (!handlerVPC) {
Note:
See TracChangeset
for help on using the changeset viewer.