| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 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 521 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   532   // internal frame to make the code faster, since we shouldn't have to do stack |   532   // internal frame to make the code faster, since we shouldn't have to do stack | 
|   533   // crawls in MakeCodeYoung. This seems a bit fragile. |   533   // crawls in MakeCodeYoung. This seems a bit fragile. | 
|   534  |   534  | 
|   535   // Re-execute the code that was patched back to the young age when |   535   // Re-execute the code that was patched back to the young age when | 
|   536   // the stub returns. |   536   // the stub returns. | 
|   537   __ sub(Operand(esp, 0), Immediate(5)); |   537   __ sub(Operand(esp, 0), Immediate(5)); | 
|   538   __ pushad(); |   538   __ pushad(); | 
|   539   __ mov(eax, Operand(esp, 8 * kPointerSize)); |   539   __ mov(eax, Operand(esp, 8 * kPointerSize)); | 
|   540   { |   540   { | 
|   541     FrameScope scope(masm, StackFrame::MANUAL); |   541     FrameScope scope(masm, StackFrame::MANUAL); | 
|   542     __ PrepareCallCFunction(1, ebx); |   542     __ PrepareCallCFunction(2, ebx); | 
 |   543     __ mov(Operand(esp, 1 * kPointerSize), | 
 |   544            Immediate(ExternalReference::isolate_address(masm->isolate()))); | 
|   543     __ mov(Operand(esp, 0), eax); |   545     __ mov(Operand(esp, 0), eax); | 
|   544     __ CallCFunction( |   546     __ CallCFunction( | 
|   545         ExternalReference::get_make_code_young_function(masm->isolate()), 1); |   547         ExternalReference::get_make_code_young_function(masm->isolate()), 2); | 
|   546   } |   548   } | 
|   547   __ popad(); |   549   __ popad(); | 
|   548   __ ret(0); |   550   __ ret(0); | 
|   549 } |   551 } | 
|   550  |   552  | 
|   551 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C)                 \ |   553 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C)                 \ | 
|   552 void Builtins::Generate_Make##C##CodeYoungAgainEvenMarking(  \ |   554 void Builtins::Generate_Make##C##CodeYoungAgainEvenMarking(  \ | 
|   553     MacroAssembler* masm) {                                  \ |   555     MacroAssembler* masm) {                                  \ | 
|   554   GenerateMakeCodeYoungAgainCommon(masm);                    \ |   556   GenerateMakeCodeYoungAgainCommon(masm);                    \ | 
|   555 }                                                            \ |   557 }                                                            \ | 
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1324   // And "return" to the OSR entry point of the function. |  1326   // And "return" to the OSR entry point of the function. | 
|  1325   __ ret(0); |  1327   __ ret(0); | 
|  1326 } |  1328 } | 
|  1327  |  1329  | 
|  1328  |  1330  | 
|  1329 #undef __ |  1331 #undef __ | 
|  1330 } |  1332 } | 
|  1331 }  // namespace v8::internal |  1333 }  // namespace v8::internal | 
|  1332  |  1334  | 
|  1333 #endif  // V8_TARGET_ARCH_IA32 |  1335 #endif  // V8_TARGET_ARCH_IA32 | 
| OLD | NEW |