| Index: src/codegen.cc
|
| ===================================================================
|
| --- src/codegen.cc (revision 5165)
|
| +++ src/codegen.cc (working copy)
|
| @@ -77,14 +77,23 @@
|
| // Generate the code.
|
| Comment cmnt(masm_, code->comment());
|
| masm_->bind(code->entry_label());
|
| - code->SaveRegisters();
|
| + if (code->AutoSaveAndRestore()) {
|
| + code->SaveRegisters();
|
| + }
|
| code->Generate();
|
| - code->RestoreRegisters();
|
| - masm_->jmp(code->exit_label());
|
| + if (code->AutoSaveAndRestore()) {
|
| + code->RestoreRegisters();
|
| + code->Exit();
|
| + }
|
| }
|
| }
|
|
|
|
|
| +void DeferredCode::Exit() {
|
| + masm_->jmp(exit_label());
|
| +}
|
| +
|
| +
|
| void CodeGenerator::SetFrame(VirtualFrame* new_frame,
|
| RegisterFile* non_frame_registers) {
|
| RegisterFile saved_counts;
|
|
|