| OLD | NEW | 
|     1 // Copyright 2011 the V8 project authors. All rights reserved. |     1 // Copyright 2011 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 3849 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3860   __ LoadRoot(ip, Heap::kStackLimitRootIndex); |  3860   __ LoadRoot(ip, Heap::kStackLimitRootIndex); | 
|  3861   __ cmp(sp, Operand(ip)); |  3861   __ cmp(sp, Operand(ip)); | 
|  3862   __ b(hs, &ok); |  3862   __ b(hs, &ok); | 
|  3863   StackCheckStub stub; |  3863   StackCheckStub stub; | 
|  3864   CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); |  3864   CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | 
|  3865   __ bind(&ok); |  3865   __ bind(&ok); | 
|  3866 } |  3866 } | 
|  3867  |  3867  | 
|  3868  |  3868  | 
|  3869 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { |  3869 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { | 
|  3870   Abort("DoOsrEntry unimplemented."); |  3870   // This is a pseudo-instruction that ensures that the environment here is | 
 |  3871   // properly registered for deoptimization and records the assembler's PC | 
 |  3872   // offset. | 
 |  3873   LEnvironment* environment = instr->environment(); | 
 |  3874   environment->SetSpilledRegisters(instr->SpilledRegisterArray(), | 
 |  3875                                    instr->SpilledDoubleRegisterArray()); | 
 |  3876  | 
 |  3877   // If the environment were already registered, we would have no way of | 
 |  3878   // backpatching it with the spill slot operands. | 
 |  3879   ASSERT(!environment->HasBeenRegistered()); | 
 |  3880   RegisterEnvironmentForDeoptimization(environment); | 
 |  3881   ASSERT(osr_pc_offset_ == -1); | 
 |  3882   osr_pc_offset_ = masm()->pc_offset(); | 
|  3871 } |  3883 } | 
|  3872  |  3884  | 
|  3873  |  3885  | 
|  3874 #undef __ |  3886 #undef __ | 
|  3875  |  3887  | 
|  3876 } }  // namespace v8::internal |  3888 } }  // namespace v8::internal | 
| OLD | NEW |