Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: src/virtual-frame-ia32.h

Issue 16513: Experimental: begin using the register allocator for switch statements... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW
« src/codegen-ia32.cc ('K') | « src/codegen-ia32.cc ('k') | src/virtual-frame-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698