| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. | 
| 2 // | 2 // | 
| 3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without | 
| 4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are | 
| 5 // met: | 5 // met: | 
| 6 // | 6 // | 
| 7 //     * Redistributions of source code must retain the above copyright | 7 //     * Redistributions of source code must retain the above copyright | 
| 8 //       notice, this list of conditions and the following disclaimer. | 8 //       notice, this list of conditions and the following disclaimer. | 
| 9 //     * Redistributions in binary form must reproduce the above | 9 //     * Redistributions in binary form must reproduce the above | 
| 10 //       copyright notice, this list of conditions and the following | 10 //       copyright notice, this list of conditions and the following | 
| (...skipping 2530 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2541 | 2541 | 
| 2542   int jump_instr = require_jump ? kInstructionSize : 0; | 2542   int jump_instr = require_jump ? kInstructionSize : 0; | 
| 2543   int size_pool_marker = kInstructionSize; | 2543   int size_pool_marker = kInstructionSize; | 
| 2544   int size_pool_guard = kInstructionSize; | 2544   int size_pool_guard = kInstructionSize; | 
| 2545   int pool_size = jump_instr + size_pool_marker + size_pool_guard + | 2545   int pool_size = jump_instr + size_pool_marker + size_pool_guard + | 
| 2546     num_pending_reloc_info_ * kPointerSize; | 2546     num_pending_reloc_info_ * kPointerSize; | 
| 2547   int needed_space = pool_size + kGap; | 2547   int needed_space = pool_size + kGap; | 
| 2548 | 2548 | 
| 2549   // Emit veneers for branches that would go out of range during emission of the | 2549   // Emit veneers for branches that would go out of range during emission of the | 
| 2550   // constant pool. | 2550   // constant pool. | 
| 2551   CheckVeneerPool(require_jump, kVeneerDistanceMargin - pool_size); | 2551   CheckVeneerPool(require_jump, kVeneerDistanceMargin + pool_size); | 
| 2552 | 2552 | 
| 2553   Label size_check; | 2553   Label size_check; | 
| 2554   bind(&size_check); | 2554   bind(&size_check); | 
| 2555 | 2555 | 
| 2556   // Check that the code buffer is large enough before emitting the constant | 2556   // Check that the code buffer is large enough before emitting the constant | 
| 2557   // pool (include the jump over the pool, the constant pool marker, the | 2557   // pool (include the jump over the pool, the constant pool marker, the | 
| 2558   // constant pool guard, and the gap to the relocation information). | 2558   // constant pool guard, and the gap to the relocation information). | 
| 2559   while (buffer_space() <= needed_space) { | 2559   while (buffer_space() <= needed_space) { | 
| 2560     GrowBuffer(); | 2560     GrowBuffer(); | 
| 2561   } | 2561   } | 
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2772   // code. | 2772   // code. | 
| 2773 #ifdef ENABLE_DEBUGGER_SUPPORT | 2773 #ifdef ENABLE_DEBUGGER_SUPPORT | 
| 2774   RecordRelocInfo(RelocInfo::CONST_POOL, static_cast<intptr_t>(size)); | 2774   RecordRelocInfo(RelocInfo::CONST_POOL, static_cast<intptr_t>(size)); | 
| 2775 #endif | 2775 #endif | 
| 2776 } | 2776 } | 
| 2777 | 2777 | 
| 2778 | 2778 | 
| 2779 } }  // namespace v8::internal | 2779 } }  // namespace v8::internal | 
| 2780 | 2780 | 
| 2781 #endif  // V8_TARGET_ARCH_A64 | 2781 #endif  // V8_TARGET_ARCH_A64 | 
| OLD | NEW | 
|---|