Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Side by Side Diff: src/a64/lithium-a64.h

Issue 148153010: Synchronize with r15701. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/a64/deoptimizer-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \ 43 #define LITHIUM_ALL_INSTRUCTION_LIST(V) \
44 V(ControlInstruction) \ 44 V(ControlInstruction) \
45 V(Call) \ 45 V(Call) \
46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V) 46 LITHIUM_CONCRETE_INSTRUCTION_LIST(V)
47 47
48 48
49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \ 49 #define LITHIUM_CONCRETE_INSTRUCTION_LIST(V) \
50 V(AccessArgumentsAt) \ 50 V(AccessArgumentsAt) \
51 V(AddI) \ 51 V(AddI) \
52 V(Allocate) \ 52 V(Allocate) \
53 V(AllocateObject) \
54 V(ApplyArguments) \ 53 V(ApplyArguments) \
55 V(ArgumentsElements) \ 54 V(ArgumentsElements) \
56 V(ArgumentsLength) \ 55 V(ArgumentsLength) \
57 V(ArithmeticD) \ 56 V(ArithmeticD) \
58 V(ArithmeticT) \ 57 V(ArithmeticT) \
59 V(BitI) \ 58 V(BitI) \
60 V(BitNotI) \ 59 V(BitNotI) \
61 V(BoundsCheck) \ 60 V(BoundsCheck) \
62 V(Branch) \ 61 V(Branch) \
63 V(CallConstantFunction) \ 62 V(CallConstantFunction) \
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 596
598 LOperand* size() { return inputs_[0]; } 597 LOperand* size() { return inputs_[0]; }
599 LOperand* temp1() { return temps_[0]; } 598 LOperand* temp1() { return temps_[0]; }
600 LOperand* temp2() { return temps_[1]; } 599 LOperand* temp2() { return temps_[1]; }
601 600
602 DECLARE_CONCRETE_INSTRUCTION(Allocate, "allocate") 601 DECLARE_CONCRETE_INSTRUCTION(Allocate, "allocate")
603 DECLARE_HYDROGEN_ACCESSOR(Allocate) 602 DECLARE_HYDROGEN_ACCESSOR(Allocate)
604 }; 603 };
605 604
606 605
607 class LAllocateObject: public LTemplateInstruction<1, 0, 2> {
608 public:
609 // TODO(jbramley): On ia32, this takes a context, and it is used by the
610 // deferred code. On ARM, an LOperand is allocated for another input, but it
611 // is never used, and the deferred code doesn't need the context. Why?
612 LAllocateObject(LOperand* temp1, LOperand* temp2) {
613 temps_[0] = temp1;
614 temps_[1] = temp2;
615 }
616
617 LOperand* temp1() { return temps_[0]; }
618 LOperand* temp2() { return temps_[1]; }
619
620 DECLARE_CONCRETE_INSTRUCTION(AllocateObject, "allocate-object")
621 DECLARE_HYDROGEN_ACCESSOR(AllocateObject)
622 };
623
624
625 class LApplyArguments: public LTemplateInstruction<1, 4, 0> { 606 class LApplyArguments: public LTemplateInstruction<1, 4, 0> {
626 public: 607 public:
627 LApplyArguments(LOperand* function, 608 LApplyArguments(LOperand* function,
628 LOperand* receiver, 609 LOperand* receiver,
629 LOperand* length, 610 LOperand* length,
630 LOperand* elements) { 611 LOperand* elements) {
631 inputs_[0] = function; 612 inputs_[0] = function;
632 inputs_[1] = receiver; 613 inputs_[1] = receiver;
633 inputs_[2] = length; 614 inputs_[2] = length;
634 inputs_[3] = elements; 615 inputs_[3] = elements;
(...skipping 2249 matching lines...) Expand 10 before | Expand all | Expand 10 after
2884 2865
2885 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2866 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2886 }; 2867 };
2887 2868
2888 #undef DECLARE_HYDROGEN_ACCESSOR 2869 #undef DECLARE_HYDROGEN_ACCESSOR
2889 #undef DECLARE_CONCRETE_INSTRUCTION 2870 #undef DECLARE_CONCRETE_INSTRUCTION
2890 2871
2891 } } // namespace v8::internal 2872 } } // namespace v8::internal
2892 2873
2893 #endif // V8_A64_LITHIUM_A64_H_ 2874 #endif // V8_A64_LITHIUM_A64_H_
OLDNEW
« no previous file with comments | « src/a64/deoptimizer-a64.cc ('k') | src/a64/lithium-a64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698