OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 void set_destination(Register reg) { destination_ = reg; } | 86 void set_destination(Register reg) { destination_ = reg; } |
87 | 87 |
88 FunctionLiteral* function() { return info_->function(); } | 88 FunctionLiteral* function() { return info_->function(); } |
89 Scope* scope() { return info_->scope(); } | 89 Scope* scope() { return info_->scope(); } |
90 | 90 |
91 // Platform-specific fixed registers, all guaranteed distinct. | 91 // Platform-specific fixed registers, all guaranteed distinct. |
92 Register accumulator0(); | 92 Register accumulator0(); |
93 Register accumulator1(); | 93 Register accumulator1(); |
94 Register scratch0(); | 94 Register scratch0(); |
95 Register scratch1(); | 95 Register scratch1(); |
| 96 Register scratch2(); |
96 Register receiver_reg(); | 97 Register receiver_reg(); |
97 Register context_reg(); | 98 Register context_reg(); |
98 | 99 |
99 Register other_accumulator(Register reg) { | 100 Register other_accumulator(Register reg) { |
100 ASSERT(reg.is(accumulator0()) || reg.is(accumulator1())); | 101 ASSERT(reg.is(accumulator0()) || reg.is(accumulator1())); |
101 return (reg.is(accumulator0())) ? accumulator1() : accumulator0(); | 102 return (reg.is(accumulator0())) ? accumulator1() : accumulator0(); |
102 } | 103 } |
103 | 104 |
104 // Flags are true if the respective register is statically known to hold a | 105 // Flags are true if the respective register is statically known to hold a |
105 // smi. We do not track every register, only the accumulator registers. | 106 // smi. We do not track every register, only the accumulator registers. |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 | 152 |
152 DISALLOW_COPY_AND_ASSIGN(FastCodeGenerator); | 153 DISALLOW_COPY_AND_ASSIGN(FastCodeGenerator); |
153 }; | 154 }; |
154 | 155 |
155 | 156 |
156 } } // namespace v8::internal | 157 } } // namespace v8::internal |
157 | 158 |
158 #endif // V8_TARGET_ARCH_IA32 | 159 #endif // V8_TARGET_ARCH_IA32 |
159 | 160 |
160 #endif // V8_FAST_CODEGEN_H_ | 161 #endif // V8_FAST_CODEGEN_H_ |
OLD | NEW |