OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 return ContextOperand(esi, Context::GLOBAL_INDEX); | 264 return ContextOperand(esi, Context::GLOBAL_INDEX); |
265 } | 265 } |
266 | 266 |
267 void LoadCondition(Expression* x, | 267 void LoadCondition(Expression* x, |
268 TypeofState typeof_state, | 268 TypeofState typeof_state, |
269 Label* true_target, | 269 Label* true_target, |
270 Label* false_target, | 270 Label* false_target, |
271 bool force_cc); | 271 bool force_cc); |
272 void Load(Expression* x, TypeofState typeof_state = NOT_INSIDE_TYPEOF); | 272 void Load(Expression* x, TypeofState typeof_state = NOT_INSIDE_TYPEOF); |
273 void LoadGlobal(); | 273 void LoadGlobal(); |
| 274 void LoadGlobalReceiver(Register scratch); |
274 | 275 |
275 // Read a value from a slot and leave it on top of the expression stack. | 276 // Read a value from a slot and leave it on top of the expression stack. |
276 void LoadFromSlot(Slot* slot, TypeofState typeof_state); | 277 void LoadFromSlot(Slot* slot, TypeofState typeof_state); |
277 | 278 |
278 // Special code for typeof expressions: Unfortunately, we must | 279 // Special code for typeof expressions: Unfortunately, we must |
279 // be careful when loading the expression in 'typeof' | 280 // be careful when loading the expression in 'typeof' |
280 // expressions. We are not allowed to throw reference errors for | 281 // expressions. We are not allowed to throw reference errors for |
281 // non-existing properties of the global object, so we must make it | 282 // non-existing properties of the global object, so we must make it |
282 // look like an explicit property access, instead of an access | 283 // look like an explicit property access, instead of an access |
283 // through the context chain. | 284 // through the context chain. |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 friend class VirtualFrame; | 414 friend class VirtualFrame; |
414 friend class Reference; | 415 friend class Reference; |
415 | 416 |
416 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); | 417 DISALLOW_COPY_AND_ASSIGN(CodeGenerator); |
417 }; | 418 }; |
418 | 419 |
419 | 420 |
420 } } // namespace v8::internal | 421 } } // namespace v8::internal |
421 | 422 |
422 #endif // V8_CODEGEN_IA32_H_ | 423 #endif // V8_CODEGEN_IA32_H_ |
OLD | NEW |