Changeset 173517 in webkit for trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
- Timestamp:
- Sep 11, 2014, 11:18:14 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
r173199 r173517 39 39 #include "JIT.h" 40 40 #include "JITExceptions.h" 41 #include "JS Activation.h"41 #include "JSLexicalEnvironment.h" 42 42 #include "JSCInlines.h" 43 43 #include "JSCJSValue.h" … … 471 471 // This stack check is done in the prologue for a function call, and the 472 472 // CallFrame is not completely set up yet. For example, if the frame needs 473 // a n activation object, the activation object will only be set up after474 // we start executing the function. If we need to throw a StackOverflowError475 // here, then we need to tell the prologue to start the stack unwinding from476 // the caller frame (which is fully set up) instead. To do that, we return477 // the caller's CallFrame in the second return value.473 // a lexical environment object, the lexical environment object will only be 474 // set up after we start executing the function. If we need to throw a 475 // StackOverflowError here, then we need to tell the prologue to start the 476 // stack unwinding from the caller frame (which is fully set up) instead. 477 // To do that, we return the caller's CallFrame in the second return value. 478 478 // 479 479 // If the stack check succeeds and we don't need to throw the error, then … … 498 498 } 499 499 500 LLINT_SLOW_PATH_DECL(slow_path_create_ activation)500 LLINT_SLOW_PATH_DECL(slow_path_create_lexical_environment) 501 501 { 502 502 LLINT_BEGIN(); 503 503 #if LLINT_SLOW_PATH_TRACING 504 dataLogF("Creating an activation, exec = %p!\n", exec);504 dataLogF("Creating an lexicalEnvironment, exec = %p!\n", exec); 505 505 #endif 506 JS Activation* activation = JSActivation::create(vm, exec, exec->codeBlock());507 exec->setScope( activation);508 LLINT_RETURN(JSValue( activation));506 JSLexicalEnvironment* lexicalEnvironment = JSLexicalEnvironment::create(vm, exec, exec->codeBlock()); 507 exec->setScope(lexicalEnvironment); 508 LLINT_RETURN(JSValue(lexicalEnvironment)); 509 509 } 510 510 … … 1246 1246 } 1247 1247 1248 LLINT_SLOW_PATH_DECL(slow_path_tear_off_ activation)1248 LLINT_SLOW_PATH_DECL(slow_path_tear_off_lexical_environment) 1249 1249 { 1250 1250 LLINT_BEGIN(); 1251 1251 ASSERT(exec->codeBlock()->needsActivation()); 1252 jsCast<JS Activation*>(LLINT_OP(1).jsValue())->tearOff(vm);1252 jsCast<JSLexicalEnvironment*>(LLINT_OP(1).jsValue())->tearOff(vm); 1253 1253 LLINT_END(); 1254 1254 } … … 1260 1260 Arguments* arguments = jsCast<Arguments*>(exec->uncheckedR(unmodifiedArgumentsRegister(VirtualRegister(pc[1].u.operand)).offset()).jsValue()); 1261 1261 if (JSValue activationValue = LLINT_OP_C(2).jsValue()) 1262 arguments->didTearOffActivation(exec, jsCast<JS Activation*>(activationValue));1262 arguments->didTearOffActivation(exec, jsCast<JSLexicalEnvironment*>(activationValue)); 1263 1263 else 1264 1264 arguments->tearOff(exec);
Note:
See TracChangeset
for help on using the changeset viewer.