Changeset 36821 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp
- Timestamp:
- Sep 23, 2008, 5:27:18 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r36809 r36821 287 287 RegisterID* ResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 288 288 { 289 if (RegisterID* local = generator.registerFor Local(m_ident)) {289 if (RegisterID* local = generator.registerFor(m_ident)) { 290 290 if (dst == ignoredResult()) 291 291 return 0; … … 405 405 RegisterID* NewExprNode::emitCode(CodeGenerator& generator, RegisterID* dst) 406 406 { 407 RefPtr<RegisterID> r0= generator.emitNode(m_expr.get());408 return generator.emitConstruct(generator.finalDestination(dst , r0.get()), r0.get(), m_args.get(), m_divot, m_startOffset, m_endOffset);407 RefPtr<RegisterID> func = generator.emitNode(m_expr.get()); 408 return generator.emitConstruct(generator.finalDestination(dst), func.get(), m_args.get(), m_divot, m_startOffset, m_endOffset); 409 409 } 410 410 … … 412 412 { 413 413 RefPtr<RegisterID> base = generator.tempDestination(dst); 414 Re gisterID*func = generator.newTemporary();415 generator.emitResolveWithBase(base.get(), func , generator.propertyNames().eval);416 return generator.emitCallEval(generator.finalDestination(dst, base.get()), func , base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset);414 RefPtr<RegisterID> func = generator.newTemporary(); 415 generator.emitResolveWithBase(base.get(), func.get(), generator.propertyNames().eval); 416 return generator.emitCallEval(generator.finalDestination(dst, base.get()), func.get(), base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset); 417 417 } 418 418 419 419 RegisterID* FunctionCallValueNode::emitCode(CodeGenerator& generator, RegisterID* dst) 420 420 { 421 Re gisterID*func = generator.emitNode(m_expr.get());422 return generator.emitCall(generator.finalDestination(dst), func , 0, m_args.get(), m_divot, m_startOffset, m_endOffset);421 RefPtr<RegisterID> func = generator.emitNode(m_expr.get()); 422 return generator.emitCall(generator.finalDestination(dst), func.get(), 0, m_args.get(), m_divot, m_startOffset, m_endOffset); 423 423 } 424 424 425 425 RegisterID* FunctionCallResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 426 426 { 427 if (Re gisterID* local = generator.registerForLocal(m_ident))428 return generator.emitCall(generator.finalDestination(dst), local , 0, m_args.get(), m_divot, m_startOffset, m_endOffset);427 if (RefPtr<RegisterID> local = generator.registerFor(m_ident)) 428 return generator.emitCall(generator.finalDestination(dst), local.get(), 0, m_args.get(), m_divot, m_startOffset, m_endOffset); 429 429 430 430 int index = 0; … … 432 432 JSValue* globalObject = 0; 433 433 if (generator.findScopedProperty(m_ident, index, depth, false, globalObject) && index != missingSymbolMarker()) { 434 Re gisterID*func = generator.emitGetScopedVar(generator.newTemporary(), depth, index, globalObject);435 return generator.emitCall(generator.finalDestination(dst), func , 0, m_args.get(), m_divot, m_startOffset, m_endOffset);434 RefPtr<RegisterID> func = generator.emitGetScopedVar(generator.newTemporary(), depth, index, globalObject); 435 return generator.emitCall(generator.finalDestination(dst), func.get(), 0, m_args.get(), m_divot, m_startOffset, m_endOffset); 436 436 } 437 437 438 438 RefPtr<RegisterID> base = generator.tempDestination(dst); 439 Re gisterID*func = generator.newTemporary();439 RefPtr<RegisterID> func = generator.newTemporary(); 440 440 int identifierStart = m_divot - m_startOffset; 441 441 generator.emitExpressionInfo(identifierStart + m_ident.size(), m_ident.size(), 0); 442 generator.emitResolveFunction(base.get(), func , m_ident);443 return generator.emitCall(generator.finalDestination(dst, base.get()), func , base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset);442 generator.emitResolveFunction(base.get(), func.get(), m_ident); 443 return generator.emitCall(generator.finalDestination(dst, base.get()), func.get(), base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset); 444 444 } 445 445 … … 449 449 RegisterID* property = generator.emitNode(m_subscript.get()); 450 450 generator.emitExpressionInfo(m_divot - m_subexpressionDivotOffset, m_startOffset - m_subexpressionDivotOffset, m_subexpressionEndOffset); 451 Re gisterID*function = generator.emitGetByVal(generator.newTemporary(), base.get(), property);452 return generator.emitCall(generator.finalDestination(dst, base.get()), function , base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset);451 RefPtr<RegisterID> function = generator.emitGetByVal(generator.newTemporary(), base.get(), property); 452 return generator.emitCall(generator.finalDestination(dst, base.get()), function.get(), base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset); 453 453 } 454 454 … … 457 457 RefPtr<RegisterID> base = generator.emitNode(m_base.get()); 458 458 generator.emitExpressionInfo(m_divot - m_subexpressionDivotOffset, m_startOffset - m_subexpressionDivotOffset, m_subexpressionEndOffset); 459 Re gisterID*function = generator.emitGetById(generator.newTemporary(), base.get(), m_ident);460 return generator.emitCall(generator.finalDestination(dst, base.get()), function , base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset);459 RefPtr<RegisterID> function = generator.emitGetById(generator.newTemporary(), base.get(), m_ident); 460 return generator.emitCall(generator.finalDestination(dst, base.get()), function.get(), base.get(), m_args.get(), m_divot, m_startOffset, m_endOffset); 461 461 } 462 462 … … 475 475 RegisterID* PostfixResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 476 476 { 477 if (RegisterID* local = generator.registerFor Local(m_ident)) {477 if (RegisterID* local = generator.registerFor(m_ident)) { 478 478 if (generator.isLocalConstant(m_ident)) { 479 479 if (dst == ignoredResult()) … … 575 575 RegisterID* DeleteResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 576 576 { 577 if (generator.registerFor Local(m_ident))577 if (generator.registerFor(m_ident)) 578 578 return generator.emitUnexpectedLoad(generator.finalDestination(dst), false); 579 579 … … 630 630 RegisterID* TypeOfResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 631 631 { 632 if (RegisterID* local = generator.registerFor Local(m_ident)) {632 if (RegisterID* local = generator.registerFor(m_ident)) { 633 633 if (dst == ignoredResult()) 634 634 return 0; … … 659 659 RegisterID* PrefixResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 660 660 { 661 if (RegisterID* local = generator.registerFor Local(m_ident)) {661 if (RegisterID* local = generator.registerFor(m_ident)) { 662 662 if (generator.isLocalConstant(m_ident)) { 663 663 if (dst == ignoredResult()) … … 894 894 RegisterID* ReadModifyResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 895 895 { 896 if (RegisterID* local = generator.registerFor Local(m_ident)) {896 if (RegisterID* local = generator.registerFor(m_ident)) { 897 897 if (generator.isLocalConstant(m_ident)) { 898 898 RegisterID* src2 = generator.emitNode(m_right.get()); … … 938 938 RegisterID* AssignResolveNode::emitCode(CodeGenerator& generator, RegisterID* dst) 939 939 { 940 if (RegisterID* local = generator.registerFor Local(m_ident)) {940 if (RegisterID* local = generator.registerFor(m_ident)) { 941 941 if (generator.isLocalConstant(m_ident)) 942 942 return generator.emitNode(dst, m_right.get()); … … 1048 1048 RegisterID* ConstDeclNode::emitCodeSingle(CodeGenerator& generator) 1049 1049 { 1050 if (RegisterID* local = generator. registerForLocalConstInit(m_ident)) {1050 if (RegisterID* local = generator.constRegisterFor(m_ident)) { 1051 1051 if (!m_init) 1052 1052 return local; … … 1339 1339 if (m_lexpr->isResolveNode()) { 1340 1340 const Identifier& ident = static_cast<ResolveNode*>(m_lexpr.get())->identifier(); 1341 propertyName = generator.registerFor Local(ident);1341 propertyName = generator.registerFor(ident); 1342 1342 if (!propertyName) { 1343 1343 propertyName = generator.newTemporary();
Note:
See TracChangeset
for help on using the changeset viewer.