Changeset 33979 in webkit for trunk/JavaScriptCore/kjs/nodes.h
- Timestamp:
- May 21, 2008, 6:20:45 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.h
r33038 r33979 29 29 #include "internal.h" 30 30 #include "regexp.h" 31 #include "RegisterID.h" 32 #include "SourceRange.h" 31 33 #include "SymbolTable.h" 34 #include <wtf/UnusedParam.h> 32 35 #include <wtf/ListRefPtr.h> 33 36 #include <wtf/MathExtras.h> … … 44 47 45 48 class ArgumentsNode; 49 class CodeBlock; 50 class CodeGenerator; 46 51 class ConstDeclNode; 47 52 class FuncDeclNode; 48 53 class Node; 54 class EvalCodeBlock; 55 class ProgramCodeBlock; 49 56 class PropertyListNode; 50 57 class SourceStream; … … 138 145 } 139 146 147 /* 148 Return value: The register holding the production's value. 149 dst: An optional parameter specifying the most efficient 150 destination at which to store the production's value. 151 The callee must honor dst. 152 153 dst provides for a crude form of copy propagation. For example, 154 155 x = 1 156 157 becomes 158 159 load r[x], 1 160 161 instead of 162 163 load r0, 1 164 mov r[x], r0 165 166 because the assignment node, "x =", passes r[x] as dst to the number 167 node, "1". 168 */ 169 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* dst = 0) KJS_FAST_CALL 170 { 171 ASSERT_WITH_MESSAGE(0, "Don't know how to generate code for:\n%s\n", toString().ascii()); 172 UNUSED_PARAM(dst); 173 return 0; 174 } // FIXME: Make this pure virtual. 175 140 176 UString toString() const KJS_FAST_CALL; 141 177 int lineNo() const KJS_FAST_CALL { return m_line; } 178 179 virtual bool isReturnNode() const KJS_FAST_CALL { return false; } 142 180 143 181 // Serialization. … … 145 183 virtual Precedence precedence() const = 0; 146 184 virtual bool needsParensIfLeftmost() const { return false; } 147 185 148 186 // Used for iterative, depth-first traversal of the node tree. Does not cross function call boundaries. 149 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL { }187 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL { } 150 188 151 189 protected: … … 153 191 154 192 // for use in execute() 155 JSValue* setErrorCompletion( ExecState*, ErrorType, const char* msg) KJS_FAST_CALL;156 JSValue* setErrorCompletion( ExecState*, ErrorType, const char* msg, const Identifier&) KJS_FAST_CALL;193 JSValue* setErrorCompletion(OldInterpreterExecState*, ErrorType, const char* msg) KJS_FAST_CALL; 194 JSValue* setErrorCompletion(OldInterpreterExecState*, ErrorType, const char* msg, const Identifier&) KJS_FAST_CALL; 157 195 158 196 // for use in evaluate() 159 JSValue* throwError(ExecState*, ErrorType, const char* msg) KJS_FAST_CALL; 160 JSValue* throwError(ExecState*, ErrorType, const char* msg, const char*) KJS_FAST_CALL; 161 JSValue* throwError(ExecState*, ErrorType, const char* msg, JSValue*, Node*) KJS_FAST_CALL; 162 JSValue* throwError(ExecState*, ErrorType, const char* msg, const Identifier&) KJS_FAST_CALL; 163 JSValue* throwError(ExecState*, ErrorType, const char* msg, JSValue*, const Identifier&) KJS_FAST_CALL; 164 JSValue* throwError(ExecState*, ErrorType, const char* msg, JSValue*, Node*, Node*) KJS_FAST_CALL; 165 JSValue* throwError(ExecState*, ErrorType, const char* msg, JSValue*, Node*, const Identifier&) KJS_FAST_CALL; 166 167 JSValue* throwUndefinedVariableError(ExecState*, const Identifier&) KJS_FAST_CALL; 168 169 void handleException(ExecState*) KJS_FAST_CALL; 170 void handleException(ExecState*, JSValue*) KJS_FAST_CALL; 197 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg) KJS_FAST_CALL; 198 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, const char*) KJS_FAST_CALL; 199 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, JSValue*, Node*) KJS_FAST_CALL; 200 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, const Identifier&) KJS_FAST_CALL; 201 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, JSValue*, const Identifier&) KJS_FAST_CALL; 202 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, JSValue*, Node*, Node*) KJS_FAST_CALL; 203 JSValue* throwError(OldInterpreterExecState*, ErrorType, const char* msg, JSValue*, Node*, const Identifier&) KJS_FAST_CALL; 204 205 RegisterID* emitThrowError(CodeGenerator&, ErrorType, const char* msg); 206 RegisterID* emitThrowError(CodeGenerator&, ErrorType, const char* msg, const Identifier&); 207 208 JSValue* throwUndefinedVariableError(OldInterpreterExecState*, const Identifier&) KJS_FAST_CALL; 209 210 void handleException(OldInterpreterExecState*) KJS_FAST_CALL; 211 void handleException(OldInterpreterExecState*, JSValue*) KJS_FAST_CALL; 171 212 172 213 // for use in execute() 173 JSValue* rethrowException( ExecState*) KJS_FAST_CALL;214 JSValue* rethrowException(OldInterpreterExecState*) KJS_FAST_CALL; 174 215 175 216 int m_line : 28; … … 199 240 JSType expectedReturnType() const KJS_FAST_CALL { return static_cast<JSType>(m_expectedReturnType); } 200 241 201 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL = 0;202 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;203 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;204 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;205 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;242 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL = 0; 243 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 244 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 245 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 246 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 206 247 207 248 // Used to optimize those nodes that do extra work when returning a result, even if the result has no semantic relevance … … 211 252 typedef enum { EvalOperator, FunctionCall } CallerType; 212 253 protected: 213 template <CallerType, bool> inline JSValue* resolveAndCall( ExecState*, const Identifier&, ArgumentsNode*, size_t = 0);254 template <CallerType, bool> inline JSValue* resolveAndCall(OldInterpreterExecState*, const Identifier&, ArgumentsNode*, size_t = 0); 214 255 }; 215 256 … … 220 261 int firstLine() const KJS_FAST_CALL { return lineNo(); } 221 262 int lastLine() const KJS_FAST_CALL { return m_lastLine; } 222 virtual JSValue* execute(ExecState *exec) KJS_FAST_CALL = 0; 263 264 virtual JSValue* execute(OldInterpreterExecState *exec) KJS_FAST_CALL = 0; 265 223 266 virtual void pushLabel(const Identifier& ident) KJS_FAST_CALL { m_labelStack.push(ident); } 224 267 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } … … 234 277 class NullNode : public ExpressionNode { 235 278 public: 236 NullNode() KJS_FAST_CALL : ExpressionNode(NullType) {} 237 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 279 NullNode() KJS_FAST_CALL 280 : ExpressionNode(NullType) 281 { 282 } 283 284 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 285 286 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 238 287 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 239 288 virtual Precedence precedence() const { return PrecPrimary; } … … 247 296 } 248 297 249 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 250 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL { return false; } 298 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 299 300 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 301 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL { return false; } 251 302 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 252 303 virtual Precedence precedence() const { return PrecPrimary; } … … 260 311 } 261 312 262 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 263 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL { return true; } 313 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 314 315 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 316 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL { return true; } 264 317 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 265 318 virtual Precedence precedence() const { return PrecPrimary; } … … 285 338 } 286 339 287 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 288 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 289 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 290 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 291 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 340 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 341 342 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 343 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 344 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 345 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 346 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 292 347 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 293 348 virtual Precedence precedence() const { return signbit(m_double) ? PrecUnary : PrecPrimary; } … … 310 365 } 311 366 312 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;313 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;314 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;367 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 368 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 369 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 315 370 316 371 virtual void setValue(double d) KJS_FAST_CALL { m_double = d; m_value = JSImmediate::from(d); ASSERT(m_value); } … … 328 383 } 329 384 330 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 331 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 332 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 385 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 386 387 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 388 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 389 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 333 390 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 334 391 virtual Precedence precedence() const { return PrecPrimary; } … … 345 402 } 346 403 347 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 404 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 405 406 JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 348 407 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 349 408 virtual Precedence precedence() const { return PrecPrimary; } … … 359 418 } 360 419 361 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 420 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 421 422 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 362 423 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 363 424 virtual Precedence precedence() const { return PrecPrimary; } … … 378 439 } 379 440 380 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 381 382 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 383 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 384 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 385 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 386 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 441 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 442 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 443 444 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 445 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 446 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 447 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 448 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 387 449 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 388 450 virtual Precedence precedence() const { return PrecPrimary; } … … 393 455 394 456 protected: 395 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);457 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 396 458 Identifier m_ident; 397 size_t m_index; // Used by LocalVarAccessNode and ScopedVarAccessNode.459 int m_index; // Used by LocalVarAccessNode and ScopedVarAccessNode. 398 460 size_t m_scopeDepth; // Used by ScopedVarAccessNode 399 461 }; … … 402 464 public: 403 465 // Overwrites a ResolveNode in place. 404 LocalVarAccessNode( size_t i) KJS_FAST_CALL466 LocalVarAccessNode(int i) KJS_FAST_CALL 405 467 : ResolveNode(PlacementNewAdopt) 406 468 { … … 409 471 } 410 472 411 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;412 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;413 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;414 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;415 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;416 417 private: 418 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);473 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 474 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 475 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 476 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 477 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 478 479 private: 480 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 419 481 }; 420 482 … … 422 484 public: 423 485 // Overwrites a ResolveNode in place. 424 ScopedVarAccessNode( size_t i, size_t scopeDepth) KJS_FAST_CALL486 ScopedVarAccessNode(int i, size_t scopeDepth) KJS_FAST_CALL 425 487 : ResolveNode(PlacementNewAdopt) 426 488 { … … 430 492 } 431 493 432 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;433 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;434 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;435 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;436 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;494 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 495 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 496 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 497 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 498 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 437 499 438 500 private: 439 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);501 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 440 502 }; 441 503 … … 450 512 } 451 513 452 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;453 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;454 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;455 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;456 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;514 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 515 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 516 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 517 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 518 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 457 519 458 520 private: 459 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);521 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 460 522 }; 461 523 … … 477 539 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 478 540 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 479 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;541 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 480 542 481 543 PassRefPtr<ElementNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 482 544 483 JSValue* evaluate( ExecState*) KJS_FAST_CALL;545 JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 484 546 485 547 private: … … 512 574 } 513 575 514 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 515 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 576 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 577 578 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 579 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 516 580 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 517 581 virtual Precedence precedence() const { return PrecPrimary; } … … 534 598 } 535 599 536 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;600 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 537 601 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 538 602 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 539 603 540 JSValue* evaluate( ExecState*) KJS_FAST_CALL;604 JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 541 605 const Identifier& name() const { return m_name; } 542 606 … … 561 625 } 562 626 563 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 627 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 628 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 564 629 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 565 630 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 566 631 567 JSValue* evaluate( ExecState*) KJS_FAST_CALL;632 JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 568 633 PassRefPtr<PropertyListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 569 634 … … 585 650 } 586 651 587 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 588 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 652 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 653 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 654 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 589 655 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 590 656 virtual Precedence precedence() const { return PrecPrimary; } … … 603 669 } 604 670 605 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 606 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 607 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 608 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 609 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 610 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 671 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 672 673 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 674 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 675 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 676 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 677 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 678 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 611 679 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 612 680 virtual Precedence precedence() const { return PrecMember; } … … 618 686 619 687 private: 620 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);688 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 621 689 622 690 RefPtr<ExpressionNode> m_base; … … 632 700 } 633 701 634 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 635 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 636 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 637 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 638 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 639 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 702 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 703 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 704 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 705 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 706 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 707 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 708 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 640 709 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 641 710 virtual Precedence precedence() const { return PrecMember; } … … 647 716 648 717 private: 649 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);718 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 650 719 651 720 RefPtr<ExpressionNode> m_base; … … 666 735 } 667 736 668 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 737 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 738 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 669 739 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 670 740 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 671 741 672 void evaluateList( ExecState*, List&) KJS_FAST_CALL;742 void evaluateList(OldInterpreterExecState*, List&) KJS_FAST_CALL; 673 743 PassRefPtr<ArgumentListNode> releaseNext() KJS_FAST_CALL { return m_next.release(); } 674 744 675 private:676 friend class ArgumentsNode;677 745 ListRefPtr<ArgumentListNode> m_next; 678 746 RefPtr<ExpressionNode> m_expr; … … 690 758 } 691 759 692 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;760 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 693 761 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 694 762 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 695 763 696 void evaluateList(ExecState* exec, List& list) KJS_FAST_CALL { if (m_listNode) m_listNode->evaluateList(exec, list); } 697 698 private: 764 void evaluateList(OldInterpreterExecState* exec, List& list) KJS_FAST_CALL { if (m_listNode) m_listNode->evaluateList(exec, list); } 765 699 766 RefPtr<ArgumentListNode> m_listNode; 700 767 }; … … 713 780 } 714 781 715 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 716 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 717 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 718 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 719 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 720 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 782 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 783 784 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 785 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 786 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 787 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 788 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 789 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 721 790 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 722 791 virtual Precedence precedence() const { return PrecLeftHandSide; } 723 792 724 793 private: 725 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);794 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 726 795 727 796 RefPtr<ExpressionNode> m_expr; … … 736 805 } 737 806 738 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 739 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 807 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 808 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 809 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 740 810 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 741 811 virtual Precedence precedence() const { return PrecCall; } … … 753 823 } 754 824 755 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 756 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 825 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 826 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 827 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 757 828 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 758 829 virtual Precedence precedence() const { return PrecCall; } … … 778 849 } 779 850 780 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 781 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 782 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 783 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 784 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 785 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 851 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 852 853 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 854 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 855 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 856 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 857 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 858 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 786 859 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 787 860 virtual Precedence precedence() const { return PrecCall; } 788 861 789 862 protected: 790 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);863 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 791 864 792 865 Identifier m_ident; … … 798 871 class LocalVarFunctionCallNode : public FunctionCallResolveNode { 799 872 public: 800 LocalVarFunctionCallNode( size_t i) KJS_FAST_CALL873 LocalVarFunctionCallNode(int i) KJS_FAST_CALL 801 874 : FunctionCallResolveNode(PlacementNewAdopt) 802 875 { … … 805 878 } 806 879 807 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;808 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;809 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;810 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;811 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;880 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 881 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 882 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 883 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 884 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 812 885 813 886 private: 814 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);887 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 815 888 }; 816 889 817 890 class ScopedVarFunctionCallNode : public FunctionCallResolveNode { 818 891 public: 819 ScopedVarFunctionCallNode( size_t i, size_t depth) KJS_FAST_CALL892 ScopedVarFunctionCallNode(int i, size_t depth) KJS_FAST_CALL 820 893 : FunctionCallResolveNode(PlacementNewAdopt) 821 894 { … … 825 898 } 826 899 827 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;828 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;829 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;830 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;831 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;900 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 901 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 902 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 903 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 904 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 832 905 833 906 private: 834 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);907 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 835 908 }; 836 909 … … 843 916 } 844 917 845 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;846 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;847 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;848 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;849 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;918 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 919 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 920 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 921 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 922 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 850 923 851 924 private: 852 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);925 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 853 926 }; 854 927 … … 862 935 } 863 936 864 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 865 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 937 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 938 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 939 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 866 940 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 867 941 virtual Precedence precedence() const { return PrecCall; } … … 882 956 } 883 957 884 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 885 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 886 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 887 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 888 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 889 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 958 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 959 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 960 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 961 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 962 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 963 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 964 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 890 965 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 891 966 virtual Precedence precedence() const { return PrecCall; } 892 967 893 968 private: 894 ALWAYS_INLINE JSValue* inlineEvaluate( ExecState*);969 ALWAYS_INLINE JSValue* inlineEvaluate(OldInterpreterExecState*); 895 970 896 971 RefPtr<ExpressionNode> m_base; … … 930 1005 } 931 1006 932 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 933 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1007 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1008 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1009 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 934 1010 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 935 1011 virtual Precedence precedence() const { return PrecPostfix; } … … 939 1015 class PostIncLocalVarNode : public PostIncResolveNode { 940 1016 public: 941 PostIncLocalVarNode( size_t i) KJS_FAST_CALL1017 PostIncLocalVarNode(int i) KJS_FAST_CALL 942 1018 : PostIncResolveNode(PlacementNewAdopt) 943 1019 { … … 946 1022 } 947 1023 948 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1024 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 949 1025 virtual void optimizeForUnnecessaryResult(); 950 1026 }; … … 952 1028 class PostIncConstNode : public PostIncResolveNode { 953 1029 public: 954 PostIncConstNode( size_t i) KJS_FAST_CALL1030 PostIncConstNode(int i) KJS_FAST_CALL 955 1031 : PostIncResolveNode(PlacementNewAdopt) 956 1032 { … … 959 1035 } 960 1036 961 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1037 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 962 1038 }; 963 1039 … … 974 1050 } 975 1051 976 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 977 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1052 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1053 1054 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1055 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 978 1056 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 979 1057 virtual Precedence precedence() const { return PrecPostfix; } … … 983 1061 class PostDecLocalVarNode : public PostDecResolveNode { 984 1062 public: 985 PostDecLocalVarNode( size_t i) KJS_FAST_CALL1063 PostDecLocalVarNode(int i) KJS_FAST_CALL 986 1064 : PostDecResolveNode(PlacementNewAdopt) 987 1065 { … … 990 1068 } 991 1069 992 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;993 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;994 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;995 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;996 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;1070 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1071 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1072 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1073 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1074 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 997 1075 virtual void optimizeForUnnecessaryResult(); 998 1076 999 1077 private: 1000 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1078 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1001 1079 }; 1002 1080 1003 1081 class PostDecConstNode : public PostDecResolveNode { 1004 1082 public: 1005 PostDecConstNode( size_t i) KJS_FAST_CALL1083 PostDecConstNode(int i) KJS_FAST_CALL 1006 1084 : PostDecResolveNode(PlacementNewAdopt) 1007 1085 { … … 1010 1088 } 1011 1089 1012 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1090 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1013 1091 }; 1014 1092 … … 1021 1099 } 1022 1100 1023 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;1101 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1024 1102 virtual Precedence precedence() const { return PrecPostfix; } 1025 1103 … … 1036 1114 } 1037 1115 1038 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1116 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1117 1118 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1039 1119 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1040 1120 }; … … 1047 1127 } 1048 1128 1049 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1129 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1130 1131 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1050 1132 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1051 1133 }; … … 1059 1141 } 1060 1142 1061 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;1143 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1062 1144 virtual Precedence precedence() const { return PrecPostfix; } 1063 1145 … … 1074 1156 } 1075 1157 1076 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1158 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1159 1160 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1077 1161 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1078 1162 }; … … 1085 1169 } 1086 1170 1087 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1171 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1172 1173 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1088 1174 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1089 1175 }; … … 1097 1183 } 1098 1184 1099 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1185 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1186 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1100 1187 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1101 1188 virtual Precedence precedence() const { return PrecPostfix; } … … 1119 1206 } 1120 1207 1121 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1122 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1208 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1209 1210 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1211 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1123 1212 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1124 1213 virtual Precedence precedence() const { return PrecUnary; } … … 1135 1224 } 1136 1225 1137 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1226 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1138 1227 }; 1139 1228 … … 1146 1235 } 1147 1236 1148 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1149 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1237 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1238 1239 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1240 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1150 1241 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1151 1242 virtual Precedence precedence() const { return PrecUnary; } … … 1164 1255 } 1165 1256 1166 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1167 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1257 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1258 1259 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1260 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1168 1261 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1169 1262 virtual Precedence precedence() const { return PrecUnary; } … … 1181 1274 } 1182 1275 1183 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1184 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1276 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1277 1278 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1279 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1185 1280 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1186 1281 virtual Precedence precedence() const { return PrecUnary; } … … 1197 1292 } 1198 1293 1199 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1200 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1294 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1295 1296 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1297 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1201 1298 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1202 1299 virtual Precedence precedence() const { return PrecUnary; } … … 1221 1318 } 1222 1319 1223 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1224 1225 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1320 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1321 1322 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1323 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1226 1324 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1227 1325 virtual Precedence precedence() const { return PrecUnary; } … … 1236 1334 class LocalVarTypeOfNode : public TypeOfResolveNode { 1237 1335 public: 1238 LocalVarTypeOfNode( size_t i) KJS_FAST_CALL1336 LocalVarTypeOfNode(int i) KJS_FAST_CALL 1239 1337 : TypeOfResolveNode(PlacementNewAdopt) 1240 1338 { … … 1244 1342 } 1245 1343 1246 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1344 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1247 1345 }; 1248 1346 … … 1255 1353 } 1256 1354 1257 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1258 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1355 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1356 1357 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1358 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1259 1359 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1260 1360 virtual Precedence precedence() const { return PrecUnary; } … … 1276 1376 } 1277 1377 1278 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1279 1280 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1378 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1379 1380 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1381 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1281 1382 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1282 1383 virtual Precedence precedence() const { return PrecUnary; } … … 1285 1386 class PreIncLocalVarNode : public PreIncResolveNode { 1286 1387 public: 1287 PreIncLocalVarNode( size_t i) KJS_FAST_CALL1388 PreIncLocalVarNode(int i) KJS_FAST_CALL 1288 1389 : PreIncResolveNode(PlacementNewAdopt) 1289 1390 { … … 1292 1393 } 1293 1394 1294 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1395 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1295 1396 }; 1296 1397 1297 1398 class PreIncConstNode : public PreIncResolveNode { 1298 1399 public: 1299 PreIncConstNode( size_t i) KJS_FAST_CALL1400 PreIncConstNode(int i) KJS_FAST_CALL 1300 1401 : PreIncResolveNode(PlacementNewAdopt) 1301 1402 { … … 1304 1405 } 1305 1406 1306 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1407 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1307 1408 }; 1308 1409 … … 1319 1420 } 1320 1421 1321 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1322 1323 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1422 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1423 1424 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1425 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1324 1426 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1325 1427 virtual Precedence precedence() const { return PrecUnary; } … … 1328 1430 class PreDecLocalVarNode : public PreDecResolveNode { 1329 1431 public: 1330 PreDecLocalVarNode( size_t i) KJS_FAST_CALL1432 PreDecLocalVarNode(int i) KJS_FAST_CALL 1331 1433 : PreDecResolveNode(PlacementNewAdopt) 1332 1434 { … … 1335 1437 } 1336 1438 1337 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1439 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1338 1440 }; 1339 1441 1340 1442 class PreDecConstNode : public PreDecResolveNode { 1341 1443 public: 1342 PreDecConstNode( size_t i) KJS_FAST_CALL1444 PreDecConstNode(int i) KJS_FAST_CALL 1343 1445 : PreDecResolveNode(PlacementNewAdopt) 1344 1446 { … … 1347 1449 } 1348 1450 1349 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1451 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1350 1452 }; 1351 1453 … … 1358 1460 } 1359 1461 1360 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;1462 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1361 1463 virtual Precedence precedence() const { return PrecUnary; } 1362 1464 … … 1373 1475 } 1374 1476 1375 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1477 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1478 1479 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1376 1480 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1377 1481 }; … … 1384 1488 } 1385 1489 1386 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1490 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1491 1492 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1387 1493 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1388 1494 }; … … 1396 1502 } 1397 1503 1398 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;1504 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1399 1505 virtual Precedence precedence() const { return PrecPostfix; } 1400 1506 … … 1411 1517 } 1412 1518 1413 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1519 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1520 1521 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1414 1522 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1415 1523 }; … … 1422 1530 } 1423 1531 1424 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1532 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1533 1534 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1425 1535 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1426 1536 }; … … 1434 1544 } 1435 1545 1436 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1546 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1547 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1437 1548 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1438 1549 virtual Precedence precedence() const { return PrecUnary; } … … 1451 1562 } 1452 1563 1453 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1454 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1455 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1456 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1457 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1458 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1564 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1565 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1566 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1567 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1568 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1569 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1570 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1459 1571 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1460 1572 virtual Precedence precedence() const { return PrecUnary; } … … 1472 1584 } 1473 1585 1474 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1475 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1476 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1586 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1587 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1588 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1589 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1477 1590 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1478 1591 virtual Precedence precedence() const { return PrecUnary; } … … 1490 1603 } 1491 1604 1492 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1493 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1494 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1495 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1496 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1497 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1605 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1606 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1607 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1608 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1609 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1610 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1611 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1498 1612 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1499 1613 virtual Precedence precedence() const { return PrecUnary; } 1500 1614 1501 1615 private: 1502 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);1616 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 1503 1617 1504 1618 RefPtr<ExpressionNode> m_expr; … … 1513 1627 } 1514 1628 1515 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1516 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1517 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1629 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1630 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1631 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1632 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1518 1633 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1519 1634 virtual Precedence precedence() const { return PrecUnary; } … … 1532 1647 } 1533 1648 1534 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1535 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1536 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1537 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1538 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1539 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1649 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1650 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1651 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1652 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1653 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1654 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1655 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1540 1656 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1541 1657 virtual Precedence precedence() const { return PrecMultiplicitave; } 1542 1658 1543 1659 private: 1544 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1660 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1545 1661 1546 1662 RefPtr<ExpressionNode> m_term1; … … 1557 1673 } 1558 1674 1559 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1560 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1561 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1562 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1563 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1675 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1676 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1677 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1678 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1679 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1680 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1564 1681 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1565 1682 virtual Precedence precedence() const { return PrecMultiplicitave; } 1566 1683 1567 1684 private: 1568 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1685 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1569 1686 1570 1687 RefPtr<ExpressionNode> m_term1; … … 1581 1698 } 1582 1699 1583 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1584 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1585 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1586 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1587 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1588 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1700 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1701 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1702 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1703 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1704 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1705 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1706 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1589 1707 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1590 1708 virtual Precedence precedence() const { return PrecMultiplicitave; } 1591 1709 1592 1710 private: 1593 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1711 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1594 1712 1595 1713 RefPtr<ExpressionNode> m_term1; … … 1605 1723 } 1606 1724 1607 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1608 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1609 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1610 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1611 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1725 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1726 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1727 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1728 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1729 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1730 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1612 1731 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1613 1732 virtual Precedence precedence() const { return PrecAdditive; } … … 1625 1744 1626 1745 private: 1627 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1746 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1628 1747 }; 1629 1748 … … 1635 1754 } 1636 1755 1637 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1638 virtual double evaluateToNumber( ExecState*) KJS_FAST_CALL;1639 virtual int32_t evaluateToInt32( ExecState*) KJS_FAST_CALL;1640 virtual uint32_t evaluateToUInt32( ExecState*) KJS_FAST_CALL;1641 1642 private: 1643 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*) KJS_FAST_CALL;1756 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1757 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1758 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1759 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1760 1761 private: 1762 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1644 1763 }; 1645 1764 … … 1651 1770 } 1652 1771 1653 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1772 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1654 1773 }; 1655 1774 … … 1661 1780 } 1662 1781 1663 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1782 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1664 1783 }; 1665 1784 … … 1671 1790 } 1672 1791 1673 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1792 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1674 1793 }; 1675 1794 … … 1683 1802 } 1684 1803 1685 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1686 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1687 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1688 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1689 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1804 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1805 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1806 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1807 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1808 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1809 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1690 1810 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1691 1811 virtual Precedence precedence() const { return PrecAdditive; } 1692 1812 1693 1813 private: 1694 ALWAYS_INLINE double inlineEvaluateToNumber( ExecState*);1814 ALWAYS_INLINE double inlineEvaluateToNumber(OldInterpreterExecState*); 1695 1815 1696 1816 RefPtr<ExpressionNode> m_term1; … … 1707 1827 } 1708 1828 1709 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1710 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1711 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1712 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1713 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1829 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1830 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1831 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1832 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1833 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1834 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1714 1835 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1715 1836 virtual Precedence precedence() const { return PrecShift; } 1716 1837 1717 1838 private: 1718 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);1839 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 1719 1840 1720 1841 RefPtr<ExpressionNode> m_term1; … … 1731 1852 } 1732 1853 1733 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1734 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1735 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1736 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1737 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1854 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1855 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1856 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1857 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1858 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1859 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1738 1860 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1739 1861 virtual Precedence precedence() const { return PrecShift; } 1740 1862 1741 1863 private: 1742 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);1864 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 1743 1865 1744 1866 RefPtr<ExpressionNode> m_term1; … … 1755 1877 } 1756 1878 1757 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1758 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1759 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 1760 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 1761 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 1879 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1880 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1881 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1882 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 1883 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1884 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 1762 1885 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1763 1886 virtual Precedence precedence() const { return PrecShift; } 1764 1887 private: 1765 ALWAYS_INLINE uint32_t inlineEvaluateToUInt32( ExecState*);1888 ALWAYS_INLINE uint32_t inlineEvaluateToUInt32(OldInterpreterExecState*); 1766 1889 1767 1890 RefPtr<ExpressionNode> m_term1; … … 1778 1901 } 1779 1902 1780 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1781 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1782 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1903 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1904 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1905 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1906 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1783 1907 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1784 1908 virtual Precedence precedence() const { return PrecRelational; } 1785 1909 1786 1910 private: 1787 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);1911 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1788 1912 1789 1913 protected: … … 1799 1923 } 1800 1924 1801 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1802 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;1803 1804 private: 1805 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);1925 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1926 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1927 1928 private: 1929 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1806 1930 }; 1807 1931 … … 1813 1937 } 1814 1938 1815 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;1816 virtual bool evaluateToBoolean( ExecState*) KJS_FAST_CALL;1817 1818 private: 1819 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);1939 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1940 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1941 1942 private: 1943 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1820 1944 }; 1821 1945 … … 1828 1952 } 1829 1953 1830 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1831 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1832 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1954 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1955 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1956 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1957 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1833 1958 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1834 1959 virtual Precedence precedence() const { return PrecRelational; } 1835 1960 1836 1961 private: 1837 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);1962 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1838 1963 1839 1964 RefPtr<ExpressionNode> m_expr1; … … 1849 1974 } 1850 1975 1851 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1852 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1853 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1976 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1977 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1978 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 1979 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1854 1980 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1855 1981 virtual Precedence precedence() const { return PrecRelational; } 1856 1982 1857 1983 private: 1858 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);1984 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1859 1985 1860 1986 RefPtr<ExpressionNode> m_expr1; … … 1870 1996 } 1871 1997 1872 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1873 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1874 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 1998 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 1999 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2000 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2001 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1875 2002 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1876 2003 virtual Precedence precedence() const { return PrecRelational; } 1877 2004 1878 2005 private: 1879 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2006 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1880 2007 1881 2008 RefPtr<ExpressionNode> m_expr1; … … 1892 2019 } 1893 2020 1894 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1895 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1896 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2021 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2022 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2023 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2024 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1897 2025 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1898 2026 virtual Precedence precedence() const { return PrecRelational; } … … 1911 2039 } 1912 2040 1913 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1914 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1915 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2041 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2042 2043 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2044 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2045 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1916 2046 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1917 2047 virtual Precedence precedence() const { return PrecRelational; } … … 1931 2061 } 1932 2062 1933 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1934 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1935 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2063 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2064 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2065 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2066 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1936 2067 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1937 2068 virtual Precedence precedence() const { return PrecEquality; } 1938 2069 1939 2070 private: 1940 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2071 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1941 2072 1942 2073 RefPtr<ExpressionNode> m_expr1; … … 1953 2084 } 1954 2085 1955 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1956 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1957 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2086 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2087 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2088 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2089 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1958 2090 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1959 2091 virtual Precedence precedence() const { return PrecEquality; } 1960 2092 1961 2093 private: 1962 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2094 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1963 2095 1964 2096 RefPtr<ExpressionNode> m_expr1; … … 1975 2107 } 1976 2108 1977 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 1978 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 1979 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2109 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2110 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2111 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2112 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 1980 2113 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 1981 2114 virtual Precedence precedence() const { return PrecEquality; } 1982 2115 1983 2116 private: 1984 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2117 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 1985 2118 1986 2119 RefPtr<ExpressionNode> m_expr1; … … 1997 2130 } 1998 2131 1999 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2000 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2001 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2132 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2133 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2134 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2135 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2002 2136 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2003 2137 virtual Precedence precedence() const { return PrecEquality; } 2004 2138 2005 2139 private: 2006 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2140 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 2007 2141 2008 2142 RefPtr<ExpressionNode> m_expr1; … … 2019 2153 } 2020 2154 2021 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2022 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2023 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 2024 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2025 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 2026 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 2155 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2156 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2157 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2158 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 2159 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2160 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2161 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2027 2162 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2028 2163 virtual Precedence precedence() const { return PrecBitwiseAnd; } 2029 2164 2030 2165 private: 2031 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);2166 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 2032 2167 2033 2168 RefPtr<ExpressionNode> m_expr1; … … 2044 2179 } 2045 2180 2046 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2047 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2048 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 2049 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2050 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 2051 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 2181 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2182 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2183 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2184 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 2185 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2186 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2187 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2052 2188 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2053 2189 virtual Precedence precedence() const { return PrecBitwiseOr; } 2054 2190 2055 2191 private: 2056 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);2192 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 2057 2193 2058 2194 RefPtr<ExpressionNode> m_expr1; … … 2069 2205 } 2070 2206 2071 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2072 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2073 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 2074 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2075 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 2076 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 2207 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2208 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2209 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2210 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 2211 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2212 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2213 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2077 2214 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2078 2215 virtual Precedence precedence() const { return PrecBitwiseXor; } 2079 2216 2080 2217 private: 2081 ALWAYS_INLINE int32_t inlineEvaluateToInt32( ExecState*);2218 ALWAYS_INLINE int32_t inlineEvaluateToInt32(OldInterpreterExecState*); 2082 2219 2083 2220 RefPtr<ExpressionNode> m_expr1; … … 2097 2234 } 2098 2235 2099 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2100 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2101 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2236 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2237 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2238 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2239 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2102 2240 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2103 2241 virtual Precedence precedence() const { return PrecLogicalAnd; } 2104 2242 2105 2243 private: 2106 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2244 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 2107 2245 2108 2246 RefPtr<ExpressionNode> m_expr1; … … 2119 2257 } 2120 2258 2121 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2122 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2123 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2259 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2260 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2261 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2262 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2124 2263 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2125 2264 virtual Precedence precedence() const { return PrecLogicalOr; } 2126 2265 2127 2266 private: 2128 ALWAYS_INLINE bool inlineEvaluateToBoolean( ExecState*);2267 ALWAYS_INLINE bool inlineEvaluateToBoolean(OldInterpreterExecState*); 2129 2268 2130 2269 RefPtr<ExpressionNode> m_expr1; … … 2144 2283 } 2145 2284 2146 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2147 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2148 virtual bool evaluateToBoolean(ExecState*) KJS_FAST_CALL; 2149 virtual double evaluateToNumber(ExecState*) KJS_FAST_CALL; 2150 virtual int32_t evaluateToInt32(ExecState*) KJS_FAST_CALL; 2151 virtual uint32_t evaluateToUInt32(ExecState*) KJS_FAST_CALL; 2285 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2286 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2287 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2288 virtual bool evaluateToBoolean(OldInterpreterExecState*) KJS_FAST_CALL; 2289 virtual double evaluateToNumber(OldInterpreterExecState*) KJS_FAST_CALL; 2290 virtual int32_t evaluateToInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2291 virtual uint32_t evaluateToUInt32(OldInterpreterExecState*) KJS_FAST_CALL; 2152 2292 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2153 2293 virtual Precedence precedence() const { return PrecConditional; } … … 2161 2301 class ReadModifyResolveNode : public ExpressionNode { 2162 2302 public: 2163 ReadModifyResolveNode(const Identifier& ident, Operator oper, ExpressionNode* right ) KJS_FAST_CALL2303 ReadModifyResolveNode(const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 2164 2304 : m_ident(ident) 2305 , m_right(right) 2165 2306 , m_operator(oper) 2166 , m_right (right)2307 , m_rightHasAssignments(rightHasAssignments) 2167 2308 { 2168 2309 } … … 2172 2313 , m_ident(PlacementNewAdopt) 2173 2314 , m_right(PlacementNewAdopt) 2174 { 2175 } 2176 2177 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2178 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2315 , m_rightHasAssignments(true) 2316 { 2317 } 2318 2319 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2320 2321 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2322 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2179 2323 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2180 2324 virtual Precedence precedence() const { return PrecAssignment; } … … 2182 2326 protected: 2183 2327 Identifier m_ident; 2184 Operator m_operator;2185 2328 RefPtr<ExpressionNode> m_right; 2186 2329 size_t m_index; // Used by ReadModifyLocalVarNode. 2330 Operator m_operator : 31; 2331 bool m_rightHasAssignments : 1; 2187 2332 }; 2188 2333 2189 2334 class ReadModifyLocalVarNode : public ReadModifyResolveNode { 2190 2335 public: 2191 ReadModifyLocalVarNode( size_t i) KJS_FAST_CALL2336 ReadModifyLocalVarNode(int i) KJS_FAST_CALL 2192 2337 : ReadModifyResolveNode(PlacementNewAdopt) 2193 2338 { … … 2196 2341 } 2197 2342 2198 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;2343 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2199 2344 }; 2200 2345 2201 2346 class ReadModifyConstNode : public ReadModifyResolveNode { 2202 2347 public: 2203 ReadModifyConstNode( size_t i) KJS_FAST_CALL2348 ReadModifyConstNode(int i) KJS_FAST_CALL 2204 2349 : ReadModifyResolveNode(PlacementNewAdopt) 2205 2350 { … … 2208 2353 } 2209 2354 2210 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;2355 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2211 2356 }; 2212 2357 2213 2358 class AssignResolveNode : public ExpressionNode { 2214 2359 public: 2215 AssignResolveNode(const Identifier& ident, ExpressionNode* right ) KJS_FAST_CALL2360 AssignResolveNode(const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 2216 2361 : m_ident(ident) 2217 2362 , m_right(right) 2363 , m_rightHasAssignments(rightHasAssignments) 2218 2364 { 2219 2365 } … … 2225 2371 { 2226 2372 } 2227 2228 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2229 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2373 2374 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2375 2376 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2377 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2230 2378 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2231 2379 virtual Precedence precedence() const { return PrecAssignment; } … … 2235 2383 RefPtr<ExpressionNode> m_right; 2236 2384 size_t m_index; // Used by ReadModifyLocalVarNode. 2385 bool m_rightHasAssignments; 2237 2386 }; 2238 2387 2239 2388 class AssignLocalVarNode : public AssignResolveNode { 2240 2389 public: 2241 AssignLocalVarNode( size_t i) KJS_FAST_CALL2390 AssignLocalVarNode(int i) KJS_FAST_CALL 2242 2391 : AssignResolveNode(PlacementNewAdopt) 2243 2392 { … … 2246 2395 } 2247 2396 2248 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;2397 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2249 2398 }; 2250 2399 … … 2256 2405 } 2257 2406 2258 virtual JSValue* evaluate( ExecState*) KJS_FAST_CALL;2407 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2259 2408 }; 2260 2409 2261 2410 class ReadModifyBracketNode : public ExpressionNode { 2262 2411 public: 2263 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right) KJS_FAST_CALL 2264 : m_base(base) 2265 , m_subscript(subscript) 2266 , m_operator(oper) 2267 , m_right(right) 2268 { 2269 } 2270 2271 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2272 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2273 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2274 virtual Precedence precedence() const { return PrecAssignment; } 2275 2276 protected: 2277 RefPtr<ExpressionNode> m_base; 2278 RefPtr<ExpressionNode> m_subscript; 2279 Operator m_operator; 2280 RefPtr<ExpressionNode> m_right; 2281 }; 2282 2283 class AssignBracketNode : public ExpressionNode { 2284 public: 2285 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right) KJS_FAST_CALL 2412 ReadModifyBracketNode(ExpressionNode* base, ExpressionNode* subscript, Operator oper, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 2286 2413 : m_base(base) 2287 2414 , m_subscript(subscript) 2288 2415 , m_right(right) 2289 { 2290 } 2291 2292 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2293 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2416 , m_operator(oper) 2417 , m_subscriptHasAssignments(subscriptHasAssignments) 2418 , m_rightHasAssignments(rightHasAssignments) 2419 { 2420 } 2421 2422 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2423 2424 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2425 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2294 2426 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2295 2427 virtual Precedence precedence() const { return PrecAssignment; } … … 2299 2431 RefPtr<ExpressionNode> m_subscript; 2300 2432 RefPtr<ExpressionNode> m_right; 2433 Operator m_operator : 30; 2434 bool m_subscriptHasAssignments : 1; 2435 bool m_rightHasAssignments : 1; 2436 }; 2437 2438 class AssignBracketNode : public ExpressionNode { 2439 public: 2440 AssignBracketNode(ExpressionNode* base, ExpressionNode* subscript, ExpressionNode* right, bool subscriptHasAssignments, bool rightHasAssignments) KJS_FAST_CALL 2441 : m_base(base) 2442 , m_subscript(subscript) 2443 , m_right(right) 2444 , m_subscriptHasAssignments(subscriptHasAssignments) 2445 , m_rightHasAssignments(rightHasAssignments) 2446 { 2447 } 2448 2449 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2450 2451 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2452 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2453 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2454 virtual Precedence precedence() const { return PrecAssignment; } 2455 2456 protected: 2457 RefPtr<ExpressionNode> m_base; 2458 RefPtr<ExpressionNode> m_subscript; 2459 RefPtr<ExpressionNode> m_right; 2460 bool m_subscriptHasAssignments : 1; 2461 bool m_rightHasAssignments : 1; 2301 2462 }; 2302 2463 2303 2464 class AssignDotNode : public ExpressionNode { 2304 2465 public: 2305 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode* right ) KJS_FAST_CALL2466 AssignDotNode(ExpressionNode* base, const Identifier& ident, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 2306 2467 : m_base(base) 2307 2468 , m_ident(ident) 2308 2469 , m_right(right) 2309 { 2310 } 2311 2312 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2313 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2470 , m_rightHasAssignments(rightHasAssignments) 2471 { 2472 } 2473 2474 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2475 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2476 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2314 2477 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2315 2478 virtual Precedence precedence() const { return PrecAssignment; } … … 2319 2482 Identifier m_ident; 2320 2483 RefPtr<ExpressionNode> m_right; 2484 bool m_rightHasAssignments; 2321 2485 }; 2322 2486 2323 2487 class ReadModifyDotNode : public ExpressionNode { 2324 2488 public: 2325 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right ) KJS_FAST_CALL2489 ReadModifyDotNode(ExpressionNode* base, const Identifier& ident, Operator oper, ExpressionNode* right, bool rightHasAssignments) KJS_FAST_CALL 2326 2490 : m_base(base) 2327 2491 , m_ident(ident) 2492 , m_right(right) 2328 2493 , m_operator(oper) 2329 , m_right(right) 2330 { 2331 } 2332 2333 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2334 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2494 , m_rightHasAssignments(rightHasAssignments) 2495 { 2496 } 2497 2498 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2499 2500 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2501 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2335 2502 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2336 2503 virtual Precedence precedence() const { return PrecAssignment; } … … 2339 2506 RefPtr<ExpressionNode> m_base; 2340 2507 Identifier m_ident; 2341 Operator m_operator;2342 2508 RefPtr<ExpressionNode> m_right; 2509 Operator m_operator : 31; 2510 bool m_rightHasAssignments : 1; 2343 2511 }; 2344 2512 … … 2352 2520 } 2353 2521 2354 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2522 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2523 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2355 2524 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2356 2525 virtual Precedence precedence() const { return PrecAssignment; } … … 2371 2540 } 2372 2541 2373 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2374 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2542 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2543 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2544 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2375 2545 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2376 2546 virtual Precedence precedence() const { return PrecExpression; } … … 2394 2564 ConstDeclNode(const Identifier& ident, ExpressionNode* in) KJS_FAST_CALL; 2395 2565 2396 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;2397 virtual KJS::JSValue* evaluate( ExecState*) KJS_FAST_CALL;2398 void evaluateSingle( ExecState*) KJS_FAST_CALL;2566 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2567 virtual KJS::JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2568 void evaluateSingle(OldInterpreterExecState*) KJS_FAST_CALL; 2399 2569 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2400 2570 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } … … 2404 2574 ListRefPtr<ConstDeclNode> m_next; 2405 2575 RefPtr<ExpressionNode> m_init; 2406 2407 private: 2408 void handleSlowCase(ExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL NEVER_INLINE; 2576 2577 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2578 virtual RegisterID* emitCodeSingle(CodeGenerator&) KJS_FAST_CALL; 2579 private: 2580 void handleSlowCase(OldInterpreterExecState*, const ScopeChain&, JSValue*) KJS_FAST_CALL NEVER_INLINE; 2409 2581 }; 2410 2582 … … 2416 2588 } 2417 2589 2418 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2419 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2420 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2421 2590 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2591 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2592 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2593 2594 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2422 2595 private: 2423 2596 RefPtr<ConstDeclNode> m_next; … … 2443 2616 BlockNode(SourceElements* children) KJS_FAST_CALL; 2444 2617 2445 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2446 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2618 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2619 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2620 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2447 2621 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2448 2622 … … 2457 2631 } 2458 2632 2459 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2633 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2634 2635 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2460 2636 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2461 2637 virtual bool isEmptyStatement() const KJS_FAST_CALL { return true; } … … 2469 2645 } 2470 2646 2471 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2472 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2647 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2648 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2649 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2473 2650 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2474 2651 … … 2483 2660 { 2484 2661 } 2485 2486 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2487 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2662 2663 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2664 2665 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2666 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2488 2667 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2489 2668 … … 2500 2679 } 2501 2680 2502 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2503 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2681 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2682 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2683 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2504 2684 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2505 2685 … … 2517 2697 } 2518 2698 2519 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2520 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2699 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2700 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2701 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2521 2702 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2522 2703 … … 2533 2714 } 2534 2715 2535 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2536 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2716 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2717 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2718 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2537 2719 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2538 2720 … … 2550 2732 } 2551 2733 2552 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2553 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2734 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2735 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2736 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2554 2737 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2555 2738 … … 2577 2760 } 2578 2761 2579 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2580 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2762 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2763 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2764 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2581 2765 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2582 2766 … … 2593 2777 ForInNode(ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 2594 2778 ForInNode(const Identifier&, ExpressionNode*, ExpressionNode*, StatementNode*) KJS_FAST_CALL; 2595 2596 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2597 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2779 2780 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2781 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2782 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2598 2783 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2599 2784 … … 2617 2802 { 2618 2803 } 2619 2620 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2804 2805 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2806 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2621 2807 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2622 2808 … … 2635 2821 { 2636 2822 } 2637 2638 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2823 2824 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2825 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2639 2826 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2640 2827 … … 2650 2837 } 2651 2838 2652 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2653 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2654 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2839 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2840 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2841 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2842 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2843 virtual bool isReturnNode() const KJS_FAST_CALL { return true; } 2655 2844 2656 2845 private: … … 2666 2855 } 2667 2856 2668 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2669 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2857 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2858 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2859 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2670 2860 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2671 2861 … … 2683 2873 } 2684 2874 2685 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2686 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2875 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2876 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2877 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2687 2878 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2688 2879 virtual void pushLabel(const Identifier& ident) KJS_FAST_CALL { m_statement->pushLabel(ident); } … … 2700 2891 } 2701 2892 2702 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2703 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2893 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2894 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2895 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2704 2896 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2705 2897 … … 2718 2910 } 2719 2911 2720 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2721 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2722 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2912 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2913 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2914 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2915 2916 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* dst = 0) KJS_FAST_CALL; 2723 2917 2724 2918 private: … … 2765 2959 bool usesEval() const { return m_usesEval; } 2766 2960 bool needsClosure() const { return m_needsClosure; } 2767 2961 2768 2962 protected: 2769 void optimizeVariableAccess( ExecState*) KJS_FAST_CALL;2963 void optimizeVariableAccess(OldInterpreterExecState*) KJS_FAST_CALL; 2770 2964 2771 2965 VarStack m_varStack; 2772 2966 FunctionStack m_functionStack; 2967 2773 2968 private: 2774 2969 UString m_sourceURL; … … 2781 2976 public: 2782 2977 static ProgramNode* create(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2783 2784 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2978 virtual ~ProgramNode(); 2979 2980 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2981 2982 ProgramCodeBlock& code(ScopeChainNode* scopeChain, bool canCreateGlobals) KJS_FAST_CALL 2983 { 2984 if (!m_code) 2985 generateCode(scopeChain, canCreateGlobals); 2986 return *m_code; 2987 } 2785 2988 2786 2989 private: 2787 2990 ProgramNode(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2788 2991 2789 void initializeSymbolTable(ExecState*) KJS_FAST_CALL; 2790 ALWAYS_INLINE void processDeclarations(ExecState*) KJS_FAST_CALL; 2992 void generateCode(ScopeChainNode*, bool) KJS_FAST_CALL; 2993 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 2994 2995 void initializeSymbolTable(OldInterpreterExecState*) KJS_FAST_CALL; 2996 ALWAYS_INLINE void processDeclarations(OldInterpreterExecState*) KJS_FAST_CALL; 2791 2997 2792 2998 Vector<size_t> m_varIndexes; // Storage indexes belonging to the nodes in m_varStack. (Recorded to avoid double lookup.) 2793 2999 Vector<size_t> m_functionIndexes; // Storage indexes belonging to the nodes in m_functionStack. (Recorded to avoid double lookup.) 3000 3001 OwnPtr<ProgramCodeBlock> m_code; 2794 3002 }; 2795 3003 … … 2797 3005 public: 2798 3006 static EvalNode* create(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2799 2800 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 3007 virtual ~EvalNode(); 3008 3009 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 3010 3011 EvalCodeBlock& code(ScopeChainNode* scopeChain) KJS_FAST_CALL 3012 { 3013 if (!m_code) 3014 generateCode(scopeChain); 3015 return *m_code; 3016 } 2801 3017 2802 3018 private: 2803 3019 EvalNode(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2804 3020 2805 ALWAYS_INLINE void processDeclarations(ExecState*) KJS_FAST_CALL; 3021 ALWAYS_INLINE void processDeclarations(OldInterpreterExecState*) KJS_FAST_CALL; 3022 void generateCode(ScopeChainNode*) KJS_FAST_CALL; 3023 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 3024 3025 OwnPtr<EvalCodeBlock> m_code; 2806 3026 }; 2807 3027 … … 2809 3029 public: 2810 3030 static FunctionBodyNode* create(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2811 2812 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2813 2814 SymbolTable& symbolTable() KJS_FAST_CALL { return m_symbolTable; } 2815 3031 virtual ~FunctionBodyNode(); 3032 2816 3033 Vector<Identifier>& parameters() KJS_FAST_CALL { return m_parameters; } 2817 3034 UString paramString() const KJS_FAST_CALL; 2818 3035 3036 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 3037 3038 SymbolTable& symbolTable() { return m_symbolTable; } // FIXME: Remove this 3039 3040 CodeBlock& code(ScopeChainNode* scopeChain) KJS_FAST_CALL 3041 { 3042 ASSERT(scopeChain); 3043 if (!m_code) 3044 generateCode(scopeChain); 3045 return *m_code; 3046 } 3047 3048 CodeBlock& generatedCode() KJS_FAST_CALL 3049 { 3050 ASSERT(m_code); 3051 return *m_code; 3052 } 3053 3054 void mark(); 3055 3056 void setSource(const SourceRange& source) { m_source = source; } 3057 UString toSourceString() const KJS_FAST_CALL { return UString("{") + m_source.toString() + UString("}"); } 3058 2819 3059 protected: 2820 3060 FunctionBodyNode(SourceElements*, VarStack*, FunctionStack*, bool usesEval, bool needsClosure) KJS_FAST_CALL; 2821 3061 2822 3062 private: 2823 void initializeSymbolTable(ExecState*) KJS_FAST_CALL; 2824 ALWAYS_INLINE void processDeclarations(ExecState*) KJS_FAST_CALL; 2825 2826 bool m_initialized; 3063 void generateCode(ScopeChainNode*) KJS_FAST_CALL; 3064 2827 3065 Vector<Identifier> m_parameters; 2828 3066 SymbolTable m_symbolTable; 3067 OwnPtr<CodeBlock> m_code; 3068 SourceRange m_source; 2829 3069 }; 2830 3070 2831 3071 class FuncExprNode : public ExpressionNode { 2832 3072 public: 2833 FuncExprNode(const Identifier& ident, FunctionBodyNode* body, ParameterNode* parameter = 0) KJS_FAST_CALL3073 FuncExprNode(const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2834 3074 : m_ident(ident) 2835 3075 , m_parameter(parameter) … … 2837 3077 { 2838 3078 addParams(); 2839 } 2840 2841 virtual JSValue* evaluate(ExecState*) KJS_FAST_CALL; 3079 m_body->setSource(source); 3080 } 3081 3082 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 3083 FunctionImp* makeFunction(ExecState*, ScopeChainNode*) KJS_FAST_CALL; 3084 virtual JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 2842 3085 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2843 3086 virtual Precedence precedence() const { return PrecMember; } 2844 3087 virtual bool needsParensIfLeftmost() const { return true; } 3088 3089 FunctionBodyNode* body() { return m_body.get(); } 2845 3090 2846 3091 private: … … 2856 3101 class FuncDeclNode : public StatementNode { 2857 3102 public: 2858 FuncDeclNode(const Identifier& ident, FunctionBodyNode* body) KJS_FAST_CALL 2859 : m_ident(ident) 2860 , m_body(body) 2861 { 2862 addParams(); 2863 } 2864 2865 FuncDeclNode(const Identifier& ident, ParameterNode* parameter, FunctionBodyNode* body) KJS_FAST_CALL 3103 FuncDeclNode(const Identifier& ident, FunctionBodyNode* body, const SourceRange& source, ParameterNode* parameter = 0) KJS_FAST_CALL 2866 3104 : m_ident(ident) 2867 3105 , m_parameter(parameter) … … 2869 3107 { 2870 3108 addParams(); 2871 } 2872 2873 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 2874 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2875 ALWAYS_INLINE FunctionImp* makeFunction(ExecState*) KJS_FAST_CALL; 3109 m_body->setSource(source); 3110 } 3111 3112 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 3113 3114 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 3115 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 3116 FunctionImp* makeFunction(ExecState*, ScopeChainNode*) KJS_FAST_CALL; 2876 3117 2877 3118 Identifier m_ident; 3119 3120 FunctionBodyNode* body() { return m_body.get(); } 2878 3121 2879 3122 private: … … 2898 3141 } 2899 3142 2900 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;3143 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2901 3144 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2902 3145 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } 2903 3146 2904 JSValue* evaluate(ExecState*) KJS_FAST_CALL; 2905 JSValue* executeStatements(ExecState*) KJS_FAST_CALL; 3147 JSValue* evaluate(OldInterpreterExecState*) KJS_FAST_CALL; 3148 JSValue* executeStatements(OldInterpreterExecState*) KJS_FAST_CALL; 3149 3150 ExpressionNode* expr() const { return m_expr.get(); } 3151 StatementVector& children() { return m_children; } 2906 3152 2907 3153 private: … … 2923 3169 } 2924 3170 2925 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;3171 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2926 3172 CaseClauseNode* getClause() const KJS_FAST_CALL { return m_clause.get(); } 2927 3173 ClauseListNode* getNext() const KJS_FAST_CALL { return m_next.get(); } … … 2938 3184 class CaseBlockNode : public Node { 2939 3185 public: 2940 CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL; 2941 2942 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2943 JSValue* executeBlock(ExecState*, JSValue *input) KJS_FAST_CALL; 3186 CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2) KJS_FAST_CALL 3187 : m_list1(list1) 3188 , m_defaultClause(defaultClause) 3189 , m_list2(list2) 3190 { 3191 } 3192 3193 RegisterID* emitCodeForBlock(CodeGenerator&, RegisterID* input, RegisterID* dst = 0) KJS_FAST_CALL; 3194 3195 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 3196 JSValue* executeBlock(OldInterpreterExecState*, JSValue *input) KJS_FAST_CALL; 2944 3197 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2945 3198 virtual Precedence precedence() const { ASSERT_NOT_REACHED(); return PrecExpression; } … … 2959 3212 } 2960 3213 2961 virtual void optimizeVariableAccess(ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2962 virtual JSValue* execute(ExecState*) KJS_FAST_CALL; 3214 virtual RegisterID* emitCode(CodeGenerator&, RegisterID* = 0) KJS_FAST_CALL; 3215 3216 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 3217 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 2963 3218 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2964 3219 … … 2972 3227 BreakpointCheckStatement(PassRefPtr<StatementNode>) KJS_FAST_CALL; 2973 3228 2974 virtual JSValue* execute( ExecState*) KJS_FAST_CALL;2975 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2976 virtual void optimizeVariableAccess( ExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL;3229 virtual JSValue* execute(OldInterpreterExecState*) KJS_FAST_CALL; 3230 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 3231 virtual void optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&, const LocalStorage&, NodeStack&) KJS_FAST_CALL; 2977 3232 2978 3233 private:
Note:
See TracChangeset
for help on using the changeset viewer.