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 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 // If we didn't bailout, the result (in fact, both inputs too) is known to | 181 // If we didn't bailout, the result (in fact, both inputs too) is known to |
182 // be a smi. | 182 // be a smi. |
183 set_as_smi(accumulator0()); | 183 set_as_smi(accumulator0()); |
184 set_as_smi(accumulator1()); | 184 set_as_smi(accumulator1()); |
185 } | 185 } |
186 | 186 |
187 | 187 |
188 void FastCodeGenerator::Generate(CompilationInfo* compilation_info) { | 188 void FastCodeGenerator::Generate(CompilationInfo* compilation_info) { |
189 ASSERT(info_ == NULL); | 189 ASSERT(info_ == NULL); |
190 info_ = compilation_info; | 190 info_ = compilation_info; |
| 191 Comment cmnt(masm_, "[ function compiled by fast code generator"); |
191 | 192 |
192 // Save the caller's frame pointer and set up our own. | 193 // Save the caller's frame pointer and set up our own. |
193 Comment prologue_cmnt(masm(), ";; Prologue"); | 194 Comment prologue_cmnt(masm(), ";; Prologue"); |
194 __ push(rbp); | 195 __ push(rbp); |
195 __ movq(rbp, rsp); | 196 __ movq(rbp, rsp); |
196 __ push(rsi); // Context. | 197 __ push(rsi); // Context. |
197 __ push(rdi); // Closure. | 198 __ push(rdi); // Closure. |
198 // Note that we keep a live register reference to esi (context) at this | 199 // Note that we keep a live register reference to esi (context) at this |
199 // point. | 200 // point. |
200 | 201 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 __ movq(rsp, rbp); | 236 __ movq(rsp, rbp); |
236 __ pop(rbp); | 237 __ pop(rbp); |
237 __ ret((scope()->num_parameters() + 1) * kPointerSize); | 238 __ ret((scope()->num_parameters() + 1) * kPointerSize); |
238 } | 239 } |
239 | 240 |
240 | 241 |
241 #undef __ | 242 #undef __ |
242 | 243 |
243 | 244 |
244 } } // namespace v8::internal | 245 } } // namespace v8::internal |
OLD | NEW |