Changeset 110383 in webkit for trunk/Source/JavaScriptCore/offlineasm/ast.rb
- Timestamp:
- Mar 10, 2012, 4:33:20 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/offlineasm/ast.rb
r108913 r110383 384 384 end 385 385 386 class OrImmediates < Node 387 attr_reader :left, :right 388 389 def initialize(codeOrigin, left, right) 390 super(codeOrigin) 391 @left = left 392 @right = right 393 end 394 395 def children 396 [@left, @right] 397 end 398 399 def mapChildren 400 OrImmediates.new(codeOrigin, (yield @left), (yield @right)) 401 end 402 403 def dump 404 "(#{left.dump} | #{right.dump})" 405 end 406 407 def address? 408 false 409 end 410 411 def label? 412 false 413 end 414 415 def immediate? 416 true 417 end 418 419 def register? 420 false 421 end 422 end 423 424 class AndImmediates < Node 425 attr_reader :left, :right 426 427 def initialize(codeOrigin, left, right) 428 super(codeOrigin) 429 @left = left 430 @right = right 431 end 432 433 def children 434 [@left, @right] 435 end 436 437 def mapChildren 438 AndImmediates.new(codeOrigin, (yield @left), (yield @right)) 439 end 440 441 def dump 442 "(#{left.dump} & #{right.dump})" 443 end 444 445 def address? 446 false 447 end 448 449 def label? 450 false 451 end 452 453 def immediate? 454 true 455 end 456 457 def register? 458 false 459 end 460 end 461 462 class XorImmediates < Node 463 attr_reader :left, :right 464 465 def initialize(codeOrigin, left, right) 466 super(codeOrigin) 467 @left = left 468 @right = right 469 end 470 471 def children 472 [@left, @right] 473 end 474 475 def mapChildren 476 XorImmediates.new(codeOrigin, (yield @left), (yield @right)) 477 end 478 479 def dump 480 "(#{left.dump} ^ #{right.dump})" 481 end 482 483 def address? 484 false 485 end 486 487 def label? 488 false 489 end 490 491 def immediate? 492 true 493 end 494 495 def register? 496 false 497 end 498 end 499 500 class BitnotImmediate < Node 501 attr_reader :child 502 503 def initialize(codeOrigin, child) 504 super(codeOrigin) 505 @child = child 506 end 507 508 def children 509 [@child] 510 end 511 512 def mapChildren 513 BitnotImmediate.new(codeOrigin, (yield @child)) 514 end 515 516 def dump 517 "(~#{@child.dump})" 518 end 519 520 def address? 521 false 522 end 523 524 def label? 525 false 526 end 527 528 def immediate? 529 true 530 end 531 532 def register? 533 false 534 end 535 end 536 386 537 class RegisterID < NoChildren 387 538 attr_reader :name … … 460 611 end 461 612 613 class SpecialRegister < NoChildren 614 def initialize(name) 615 @name = name 616 end 617 618 def address? 619 false 620 end 621 622 def label? 623 false 624 end 625 626 def immediate? 627 false 628 end 629 630 def register? 631 true 632 end 633 end 634 462 635 class Variable < NoChildren 463 636 attr_reader :name … … 479 652 def dump 480 653 name 654 end 655 656 def inspect 657 "<variable #{name} at #{codeOriginString}>" 481 658 end 482 659 end … … 758 935 true 759 936 end 937 938 def immediate? 939 false 940 end 760 941 end 761 942 … … 790 971 def label? 791 972 true 973 end 974 975 def immediate? 976 false 792 977 end 793 978 end
Note:
See TracChangeset
for help on using the changeset viewer.