| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 enabled_cpu_features_(0), | 129 enabled_cpu_features_(0), |
| 130 emit_debug_code_(FLAG_debug_code), | 130 emit_debug_code_(FLAG_debug_code), |
| 131 predictable_code_size_(false), | 131 predictable_code_size_(false), |
| 132 // We may use the assembler without an isolate. | 132 // We may use the assembler without an isolate. |
| 133 serializer_enabled_(isolate && isolate->serializer_enabled()) { | 133 serializer_enabled_(isolate && isolate->serializer_enabled()) { |
| 134 if (FLAG_mask_constants_with_cookie && isolate != NULL) { | 134 if (FLAG_mask_constants_with_cookie && isolate != NULL) { |
| 135 jit_cookie_ = isolate->random_number_generator()->NextInt(); | 135 jit_cookie_ = isolate->random_number_generator()->NextInt(); |
| 136 } | 136 } |
| 137 if (buffer == NULL) { | 137 if (buffer == NULL) { |
| 138 // Do our own buffer management. | 138 // Do our own buffer management. |
| 139 if (buffer_size <= kMinimalBufferSize) { | 139 buffer = NewArray<byte>(buffer_size); |
| 140 buffer_size = kMinimalBufferSize; | |
| 141 if (isolate->assembler_spare_buffer() != NULL) { | |
| 142 buffer = isolate->assembler_spare_buffer(); | |
| 143 isolate->set_assembler_spare_buffer(NULL); | |
| 144 } | |
| 145 } | |
| 146 if (buffer == NULL) buffer = NewArray<byte>(buffer_size); | |
| 147 own_buffer_ = true; | 140 own_buffer_ = true; |
| 148 } else { | 141 } else { |
| 149 // Use externally provided buffer instead. | 142 // Use externally provided buffer instead. |
| 150 DCHECK(buffer_size > 0); | 143 DCHECK(buffer_size > 0); |
| 151 own_buffer_ = false; | 144 own_buffer_ = false; |
| 152 } | 145 } |
| 153 buffer_ = static_cast<byte*>(buffer); | 146 buffer_ = static_cast<byte*>(buffer); |
| 154 buffer_size_ = buffer_size; | 147 buffer_size_ = buffer_size; |
| 155 | 148 |
| 156 pc_ = buffer_; | 149 pc_ = buffer_; |
| 157 } | 150 } |
| 158 | 151 |
| 159 | 152 |
| 160 AssemblerBase::~AssemblerBase() { | 153 AssemblerBase::~AssemblerBase() { |
| 161 if (own_buffer_) { | 154 if (own_buffer_) DeleteArray(buffer_); |
| 162 if (isolate() != NULL && | |
| 163 isolate()->assembler_spare_buffer() == NULL && | |
| 164 buffer_size_ == kMinimalBufferSize) { | |
| 165 isolate()->set_assembler_spare_buffer(buffer_); | |
| 166 } else { | |
| 167 DeleteArray(buffer_); | |
| 168 } | |
| 169 } | |
| 170 } | 155 } |
| 171 | 156 |
| 172 | 157 |
| 173 // ----------------------------------------------------------------------------- | 158 // ----------------------------------------------------------------------------- |
| 174 // Implementation of PredictableCodeSizeScope | 159 // Implementation of PredictableCodeSizeScope |
| 175 | 160 |
| 176 PredictableCodeSizeScope::PredictableCodeSizeScope(AssemblerBase* assembler, | 161 PredictableCodeSizeScope::PredictableCodeSizeScope(AssemblerBase* assembler, |
| 177 int expected_size) | 162 int expected_size) |
| 178 : assembler_(assembler), | 163 : assembler_(assembler), |
| 179 expected_size_(expected_size), | 164 expected_size_(expected_size), |
| (...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1616 r2 = r2 - ad; | 1601 r2 = r2 - ad; |
| 1617 } | 1602 } |
| 1618 delta = ad - r2; | 1603 delta = ad - r2; |
| 1619 } while (q1 < delta || (q1 == delta && r1 == 0)); | 1604 } while (q1 < delta || (q1 == delta && r1 == 0)); |
| 1620 int32_t mul = static_cast<int32_t>(q2 + 1); | 1605 int32_t mul = static_cast<int32_t>(q2 + 1); |
| 1621 multiplier_ = (d < 0) ? -mul : mul; | 1606 multiplier_ = (d < 0) ? -mul : mul; |
| 1622 shift_ = p - 32; | 1607 shift_ = p - 32; |
| 1623 } | 1608 } |
| 1624 | 1609 |
| 1625 } } // namespace v8::internal | 1610 } } // namespace v8::internal |
| OLD | NEW |