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 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 Result LoadFromSlot(Slot* slot, TypeofState typeof_state); | 432 Result LoadFromSlot(Slot* slot, TypeofState typeof_state); |
433 Result LoadFromSlotCheckForArguments(Slot* slot, TypeofState typeof_state); | 433 Result LoadFromSlotCheckForArguments(Slot* slot, TypeofState typeof_state); |
434 Result LoadFromGlobalSlotCheckExtensions(Slot* slot, | 434 Result LoadFromGlobalSlotCheckExtensions(Slot* slot, |
435 TypeofState typeof_state, | 435 TypeofState typeof_state, |
436 JumpTarget* slow); | 436 JumpTarget* slow); |
437 | 437 |
438 // Store the value on top of the expression stack into a slot, leaving the | 438 // Store the value on top of the expression stack into a slot, leaving the |
439 // value in place. | 439 // value in place. |
440 void StoreToSlot(Slot* slot, InitState init_state); | 440 void StoreToSlot(Slot* slot, InitState init_state); |
441 | 441 |
442 // Load a property of an object, returning it in a Result. | 442 // Support for compiling assignment expressions. |
443 // The object and the property name are passed on the stack, and | 443 void EmitSlotAssignment(Assignment* node); |
444 // not changed. | 444 void EmitNamedPropertyAssignment(Assignment* node); |
445 Result EmitKeyedLoad(bool is_global); | 445 void EmitKeyedPropertyAssignment(Assignment* node); |
| 446 |
| 447 // Receiver is passed on the frame and consumed. |
| 448 Result EmitNamedLoad(Handle<String> name, bool is_contextual); |
| 449 |
| 450 Result EmitNamedStore(Handle<String> name); |
| 451 |
| 452 // Receiver and key are passed on the frame and consumed. |
| 453 Result EmitKeyedLoad(); |
| 454 |
| 455 // Receiver, key, and value are passed on the frame and consumed. |
| 456 Result EmitKeyedStore(StaticType* key_type); |
446 | 457 |
447 // Special code for typeof expressions: Unfortunately, we must | 458 // Special code for typeof expressions: Unfortunately, we must |
448 // be careful when loading the expression in 'typeof' | 459 // be careful when loading the expression in 'typeof' |
449 // expressions. We are not allowed to throw reference errors for | 460 // expressions. We are not allowed to throw reference errors for |
450 // non-existing properties of the global object, so we must make it | 461 // non-existing properties of the global object, so we must make it |
451 // look like an explicit property access, instead of an access | 462 // look like an explicit property access, instead of an access |
452 // through the context chain. | 463 // through the context chain. |
453 void LoadTypeofExpression(Expression* x); | 464 void LoadTypeofExpression(Expression* x); |
454 | 465 |
455 // Translate the value on top of the frame into control flow to the | 466 // Translate the value on top of the frame into control flow to the |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 void Print() { | 903 void Print() { |
893 PrintF("NumberToStringStub\n"); | 904 PrintF("NumberToStringStub\n"); |
894 } | 905 } |
895 #endif | 906 #endif |
896 }; | 907 }; |
897 | 908 |
898 | 909 |
899 } } // namespace v8::internal | 910 } } // namespace v8::internal |
900 | 911 |
901 #endif // V8_IA32_CODEGEN_IA32_H_ | 912 #endif // V8_IA32_CODEGEN_IA32_H_ |
OLD | NEW |