| OLD | NEW |
| 1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 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 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 void CallCodeObject(Handle<Code> ic, | 344 void CallCodeObject(Handle<Code> ic, |
| 345 RelocInfo::Mode rmode, | 345 RelocInfo::Mode rmode, |
| 346 int frame_arg_count); | 346 int frame_arg_count); |
| 347 | 347 |
| 348 // Drop a number of elements from the top of the expression stack. May | 348 // Drop a number of elements from the top of the expression stack. May |
| 349 // emit code to affect the physical frame. Does not clobber any registers | 349 // emit code to affect the physical frame. Does not clobber any registers |
| 350 // excepting possibly the stack pointer. | 350 // excepting possibly the stack pointer. |
| 351 void Drop(int count); | 351 void Drop(int count); |
| 352 | 352 |
| 353 // Drop one element. | 353 // Drop one element. |
| 354 void Drop(); | 354 void Drop() { Drop(1); } |
| 355 |
| 356 // Duplicate the top element of the frame. |
| 357 void Dup() { LoadFrameSlotAt(elements_.length() - 1); } |
| 355 | 358 |
| 356 // Pop an element from the top of the expression stack. | 359 // Pop an element from the top of the expression stack. |
| 357 // Returns a Result, which may be a constant or a register. | 360 // Returns a Result, which may be a constant or a register. |
| 358 Result Pop(); | 361 Result Pop(); |
| 359 | 362 |
| 360 // Pop and save an element from the top of the expression stack and emit a | 363 // Pop and save an element from the top of the expression stack and emit a |
| 361 // corresponding pop instruction. | 364 // corresponding pop instruction. |
| 362 void EmitPop(Register reg); | 365 void EmitPop(Register reg); |
| 363 void EmitPop(Operand operand); | 366 void EmitPop(Operand operand); |
| 364 | 367 |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 // Called after all register-to-memory and register-to-register | 511 // Called after all register-to-memory and register-to-register |
| 509 // moves have been made. After this function returns, the frames | 512 // moves have been made. After this function returns, the frames |
| 510 // should be equal. | 513 // should be equal. |
| 511 void MergeMoveMemoryToRegisters(VirtualFrame *expected); | 514 void MergeMoveMemoryToRegisters(VirtualFrame *expected); |
| 512 }; | 515 }; |
| 513 | 516 |
| 514 | 517 |
| 515 } } // namespace v8::internal | 518 } } // namespace v8::internal |
| 516 | 519 |
| 517 #endif // V8_VIRTUAL_FRAME_IA32_H_ | 520 #endif // V8_VIRTUAL_FRAME_IA32_H_ |
| OLD | NEW |