Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Side by Side Diff: runtime/bin/filter.cc

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/bin/file_win.cc ('k') | runtime/bin/filter_unsupported.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #if !defined(DART_IO_DISABLED) 5 #if !defined(DART_IO_DISABLED)
6 6
7 #include "bin/filter.h" 7 #include "bin/filter.h"
8 8
9 #include "bin/dartutils.h" 9 #include "bin/dartutils.h"
10 #include "bin/io_buffer.h" 10 #include "bin/io_buffer.h"
(...skipping 16 matching lines...) Expand all
27 return err; 27 return err;
28 } 28 }
29 if (result == NULL) { 29 if (result == NULL) {
30 return Dart_NewApiError("Filter was destroyed"); 30 return Dart_NewApiError("Filter was destroyed");
31 } 31 }
32 32
33 *filter = result; 33 *filter = result;
34 return Dart_Null(); 34 return Dart_Null();
35 } 35 }
36 36
37
38 static Dart_Handle CopyDictionary(Dart_Handle dictionary_obj, 37 static Dart_Handle CopyDictionary(Dart_Handle dictionary_obj,
39 uint8_t** dictionary) { 38 uint8_t** dictionary) {
40 ASSERT(dictionary != NULL); 39 ASSERT(dictionary != NULL);
41 uint8_t* src = NULL; 40 uint8_t* src = NULL;
42 intptr_t size; 41 intptr_t size;
43 Dart_TypedData_Type type; 42 Dart_TypedData_Type type;
44 43
45 Dart_Handle err = Dart_ListLength(dictionary_obj, &size); 44 Dart_Handle err = Dart_ListLength(dictionary_obj, &size);
46 if (Dart_IsError(err)) { 45 if (Dart_IsError(err)) {
47 return err; 46 return err;
(...skipping 14 matching lines...) Expand all
62 if (Dart_IsError(err)) { 61 if (Dart_IsError(err)) {
63 delete[] result; 62 delete[] result;
64 return err; 63 return err;
65 } 64 }
66 } 65 }
67 66
68 *dictionary = result; 67 *dictionary = result;
69 return Dart_Null(); 68 return Dart_Null();
70 } 69 }
71 70
72
73 void FUNCTION_NAME(Filter_CreateZLibInflate)(Dart_NativeArguments args) { 71 void FUNCTION_NAME(Filter_CreateZLibInflate)(Dart_NativeArguments args) {
74 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0); 72 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
75 Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 1); 73 Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 1);
76 int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj); 74 int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj);
77 Dart_Handle dict_obj = Dart_GetNativeArgument(args, 2); 75 Dart_Handle dict_obj = Dart_GetNativeArgument(args, 2);
78 Dart_Handle raw_obj = Dart_GetNativeArgument(args, 3); 76 Dart_Handle raw_obj = Dart_GetNativeArgument(args, 3);
79 bool raw = DartUtils::GetBooleanValue(raw_obj); 77 bool raw = DartUtils::GetBooleanValue(raw_obj);
80 78
81 Dart_Handle err; 79 Dart_Handle err;
82 uint8_t* dictionary = NULL; 80 uint8_t* dictionary = NULL;
(...skipping 25 matching lines...) Expand all
108 DartUtils::NewInternalError("Failed to create ZLibInflateFilter")); 106 DartUtils::NewInternalError("Failed to create ZLibInflateFilter"));
109 } 107 }
110 err = Filter::SetFilterAndCreateFinalizer( 108 err = Filter::SetFilterAndCreateFinalizer(
111 filter_obj, filter, sizeof(*filter) + dictionary_length); 109 filter_obj, filter, sizeof(*filter) + dictionary_length);
112 if (Dart_IsError(err)) { 110 if (Dart_IsError(err)) {
113 delete filter; 111 delete filter;
114 Dart_PropagateError(err); 112 Dart_PropagateError(err);
115 } 113 }
116 } 114 }
117 115
118
119 void FUNCTION_NAME(Filter_CreateZLibDeflate)(Dart_NativeArguments args) { 116 void FUNCTION_NAME(Filter_CreateZLibDeflate)(Dart_NativeArguments args) {
120 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0); 117 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
121 Dart_Handle gzip_obj = Dart_GetNativeArgument(args, 1); 118 Dart_Handle gzip_obj = Dart_GetNativeArgument(args, 1);
122 bool gzip = DartUtils::GetBooleanValue(gzip_obj); 119 bool gzip = DartUtils::GetBooleanValue(gzip_obj);
123 Dart_Handle level_obj = Dart_GetNativeArgument(args, 2); 120 Dart_Handle level_obj = Dart_GetNativeArgument(args, 2);
124 int64_t level = 121 int64_t level =
125 DartUtils::GetInt64ValueCheckRange(level_obj, kMinInt32, kMaxInt32); 122 DartUtils::GetInt64ValueCheckRange(level_obj, kMinInt32, kMaxInt32);
126 Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 3); 123 Dart_Handle window_bits_obj = Dart_GetNativeArgument(args, 3);
127 int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj); 124 int64_t window_bits = DartUtils::GetIntegerValue(window_bits_obj);
128 Dart_Handle mLevel_obj = Dart_GetNativeArgument(args, 4); 125 Dart_Handle mLevel_obj = Dart_GetNativeArgument(args, 4);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 DartUtils::NewInternalError("Failed to create ZLibDeflateFilter")); 162 DartUtils::NewInternalError("Failed to create ZLibDeflateFilter"));
166 } 163 }
167 Dart_Handle result = Filter::SetFilterAndCreateFinalizer( 164 Dart_Handle result = Filter::SetFilterAndCreateFinalizer(
168 filter_obj, filter, sizeof(*filter) + dictionary_length); 165 filter_obj, filter, sizeof(*filter) + dictionary_length);
169 if (Dart_IsError(result)) { 166 if (Dart_IsError(result)) {
170 delete filter; 167 delete filter;
171 Dart_PropagateError(result); 168 Dart_PropagateError(result);
172 } 169 }
173 } 170 }
174 171
175
176 void FUNCTION_NAME(Filter_Process)(Dart_NativeArguments args) { 172 void FUNCTION_NAME(Filter_Process)(Dart_NativeArguments args) {
177 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0); 173 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
178 Dart_Handle data_obj = Dart_GetNativeArgument(args, 1); 174 Dart_Handle data_obj = Dart_GetNativeArgument(args, 1);
179 intptr_t start = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 2)); 175 intptr_t start = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 2));
180 intptr_t end = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 3)); 176 intptr_t end = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 3));
181 intptr_t chunk_length = end - start; 177 intptr_t chunk_length = end - start;
182 intptr_t length; 178 intptr_t length;
183 Dart_TypedData_Type type; 179 Dart_TypedData_Type type;
184 uint8_t* buffer = NULL; 180 uint8_t* buffer = NULL;
185 181
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 } 219 }
224 } 220 }
225 // Process will take ownership of buffer, if successful. 221 // Process will take ownership of buffer, if successful.
226 if (!filter->Process(buffer, chunk_length)) { 222 if (!filter->Process(buffer, chunk_length)) {
227 delete[] buffer; 223 delete[] buffer;
228 Dart_ThrowException(DartUtils::NewInternalError( 224 Dart_ThrowException(DartUtils::NewInternalError(
229 "Call to Process while still processing data")); 225 "Call to Process while still processing data"));
230 } 226 }
231 } 227 }
232 228
233
234 void FUNCTION_NAME(Filter_Processed)(Dart_NativeArguments args) { 229 void FUNCTION_NAME(Filter_Processed)(Dart_NativeArguments args) {
235 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0); 230 Dart_Handle filter_obj = Dart_GetNativeArgument(args, 0);
236 Dart_Handle flush_obj = Dart_GetNativeArgument(args, 1); 231 Dart_Handle flush_obj = Dart_GetNativeArgument(args, 1);
237 bool flush = DartUtils::GetBooleanValue(flush_obj); 232 bool flush = DartUtils::GetBooleanValue(flush_obj);
238 Dart_Handle end_obj = Dart_GetNativeArgument(args, 2); 233 Dart_Handle end_obj = Dart_GetNativeArgument(args, 2);
239 bool end = DartUtils::GetBooleanValue(end_obj); 234 bool end = DartUtils::GetBooleanValue(end_obj);
240 235
241 Filter* filter = NULL; 236 Filter* filter = NULL;
242 Dart_Handle err = GetFilter(filter_obj, &filter); 237 Dart_Handle err = GetFilter(filter_obj, &filter);
243 if (Dart_IsError(err)) { 238 if (Dart_IsError(err)) {
244 Dart_PropagateError(err); 239 Dart_PropagateError(err);
245 } 240 }
246 241
247 intptr_t read = filter->Processed( 242 intptr_t read = filter->Processed(
248 filter->processed_buffer(), filter->processed_buffer_size(), flush, end); 243 filter->processed_buffer(), filter->processed_buffer_size(), flush, end);
249 if (read < 0) { 244 if (read < 0) {
250 Dart_ThrowException(DartUtils::NewInternalError("Filter error, bad data")); 245 Dart_ThrowException(DartUtils::NewInternalError("Filter error, bad data"));
251 } else if (read == 0) { 246 } else if (read == 0) {
252 Dart_SetReturnValue(args, Dart_Null()); 247 Dart_SetReturnValue(args, Dart_Null());
253 } else { 248 } else {
254 uint8_t* io_buffer; 249 uint8_t* io_buffer;
255 Dart_Handle result = IOBuffer::Allocate(read, &io_buffer); 250 Dart_Handle result = IOBuffer::Allocate(read, &io_buffer);
256 memmove(io_buffer, filter->processed_buffer(), read); 251 memmove(io_buffer, filter->processed_buffer(), read);
257 Dart_SetReturnValue(args, result); 252 Dart_SetReturnValue(args, result);
258 } 253 }
259 } 254 }
260 255
261
262 static void DeleteFilter(void* isolate_data, 256 static void DeleteFilter(void* isolate_data,
263 Dart_WeakPersistentHandle handle, 257 Dart_WeakPersistentHandle handle,
264 void* filter_pointer) { 258 void* filter_pointer) {
265 Filter* filter = reinterpret_cast<Filter*>(filter_pointer); 259 Filter* filter = reinterpret_cast<Filter*>(filter_pointer);
266 delete filter; 260 delete filter;
267 } 261 }
268 262
269
270 Dart_Handle Filter::SetFilterAndCreateFinalizer(Dart_Handle filter, 263 Dart_Handle Filter::SetFilterAndCreateFinalizer(Dart_Handle filter,
271 Filter* filter_pointer, 264 Filter* filter_pointer,
272 intptr_t size) { 265 intptr_t size) {
273 Dart_Handle err = 266 Dart_Handle err =
274 Dart_SetNativeInstanceField(filter, kFilterPointerNativeField, 267 Dart_SetNativeInstanceField(filter, kFilterPointerNativeField,
275 reinterpret_cast<intptr_t>(filter_pointer)); 268 reinterpret_cast<intptr_t>(filter_pointer));
276 if (Dart_IsError(err)) { 269 if (Dart_IsError(err)) {
277 return err; 270 return err;
278 } 271 }
279 Dart_NewWeakPersistentHandle(filter, reinterpret_cast<void*>(filter_pointer), 272 Dart_NewWeakPersistentHandle(filter, reinterpret_cast<void*>(filter_pointer),
280 size, DeleteFilter); 273 size, DeleteFilter);
281 return err; 274 return err;
282 } 275 }
283 276
284
285 Dart_Handle Filter::GetFilterNativeField(Dart_Handle filter, 277 Dart_Handle Filter::GetFilterNativeField(Dart_Handle filter,
286 Filter** filter_pointer) { 278 Filter** filter_pointer) {
287 return Dart_GetNativeInstanceField( 279 return Dart_GetNativeInstanceField(
288 filter, kFilterPointerNativeField, 280 filter, kFilterPointerNativeField,
289 reinterpret_cast<intptr_t*>(filter_pointer)); 281 reinterpret_cast<intptr_t*>(filter_pointer));
290 } 282 }
291 283
292
293 ZLibDeflateFilter::~ZLibDeflateFilter() { 284 ZLibDeflateFilter::~ZLibDeflateFilter() {
294 delete[] dictionary_; 285 delete[] dictionary_;
295 delete[] current_buffer_; 286 delete[] current_buffer_;
296 if (initialized()) { 287 if (initialized()) {
297 deflateEnd(&stream_); 288 deflateEnd(&stream_);
298 } 289 }
299 } 290 }
300 291
301
302 bool ZLibDeflateFilter::Init() { 292 bool ZLibDeflateFilter::Init() {
303 int window_bits = window_bits_; 293 int window_bits = window_bits_;
304 if (raw_) { 294 if (raw_) {
305 window_bits = -window_bits; 295 window_bits = -window_bits;
306 } else if (gzip_) { 296 } else if (gzip_) {
307 window_bits += kZLibFlagUseGZipHeader; 297 window_bits += kZLibFlagUseGZipHeader;
308 } 298 }
309 stream_.next_in = Z_NULL; 299 stream_.next_in = Z_NULL;
310 stream_.zalloc = Z_NULL; 300 stream_.zalloc = Z_NULL;
311 stream_.zfree = Z_NULL; 301 stream_.zfree = Z_NULL;
312 stream_.opaque = Z_NULL; 302 stream_.opaque = Z_NULL;
313 int result = deflateInit2(&stream_, level_, Z_DEFLATED, window_bits, 303 int result = deflateInit2(&stream_, level_, Z_DEFLATED, window_bits,
314 mem_level_, strategy_); 304 mem_level_, strategy_);
315 if (result != Z_OK) { 305 if (result != Z_OK) {
316 return false; 306 return false;
317 } 307 }
318 if ((dictionary_ != NULL) && !gzip_ && !raw_) { 308 if ((dictionary_ != NULL) && !gzip_ && !raw_) {
319 result = deflateSetDictionary(&stream_, dictionary_, dictionary_length_); 309 result = deflateSetDictionary(&stream_, dictionary_, dictionary_length_);
320 delete[] dictionary_; 310 delete[] dictionary_;
321 dictionary_ = NULL; 311 dictionary_ = NULL;
322 if (result != Z_OK) { 312 if (result != Z_OK) {
323 return false; 313 return false;
324 } 314 }
325 } 315 }
326 set_initialized(true); 316 set_initialized(true);
327 return true; 317 return true;
328 } 318 }
329 319
330
331 bool ZLibDeflateFilter::Process(uint8_t* data, intptr_t length) { 320 bool ZLibDeflateFilter::Process(uint8_t* data, intptr_t length) {
332 if (current_buffer_ != NULL) { 321 if (current_buffer_ != NULL) {
333 return false; 322 return false;
334 } 323 }
335 stream_.avail_in = length; 324 stream_.avail_in = length;
336 stream_.next_in = current_buffer_ = data; 325 stream_.next_in = current_buffer_ = data;
337 return true; 326 return true;
338 } 327 }
339 328
340 intptr_t ZLibDeflateFilter::Processed(uint8_t* buffer, 329 intptr_t ZLibDeflateFilter::Processed(uint8_t* buffer,
(...skipping 19 matching lines...) Expand all
360 case Z_STREAM_ERROR: 349 case Z_STREAM_ERROR:
361 error = true; 350 error = true;
362 } 351 }
363 352
364 delete[] current_buffer_; 353 delete[] current_buffer_;
365 current_buffer_ = NULL; 354 current_buffer_ = NULL;
366 // Either 0 Byte processed or error 355 // Either 0 Byte processed or error
367 return error ? -1 : 0; 356 return error ? -1 : 0;
368 } 357 }
369 358
370
371 ZLibInflateFilter::~ZLibInflateFilter() { 359 ZLibInflateFilter::~ZLibInflateFilter() {
372 delete[] dictionary_; 360 delete[] dictionary_;
373 delete[] current_buffer_; 361 delete[] current_buffer_;
374 if (initialized()) { 362 if (initialized()) {
375 inflateEnd(&stream_); 363 inflateEnd(&stream_);
376 } 364 }
377 } 365 }
378 366
379
380 bool ZLibInflateFilter::Init() { 367 bool ZLibInflateFilter::Init() {
381 int window_bits = 368 int window_bits =
382 raw_ ? -window_bits_ : window_bits_ | kZLibFlagAcceptAnyHeader; 369 raw_ ? -window_bits_ : window_bits_ | kZLibFlagAcceptAnyHeader;
383 370
384 stream_.next_in = Z_NULL; 371 stream_.next_in = Z_NULL;
385 stream_.avail_in = 0; 372 stream_.avail_in = 0;
386 stream_.zalloc = Z_NULL; 373 stream_.zalloc = Z_NULL;
387 stream_.zfree = Z_NULL; 374 stream_.zfree = Z_NULL;
388 stream_.opaque = Z_NULL; 375 stream_.opaque = Z_NULL;
389 int result = inflateInit2(&stream_, window_bits); 376 int result = inflateInit2(&stream_, window_bits);
390 if (result != Z_OK) { 377 if (result != Z_OK) {
391 return false; 378 return false;
392 } 379 }
393 set_initialized(true); 380 set_initialized(true);
394 return true; 381 return true;
395 } 382 }
396 383
397
398 bool ZLibInflateFilter::Process(uint8_t* data, intptr_t length) { 384 bool ZLibInflateFilter::Process(uint8_t* data, intptr_t length) {
399 if (current_buffer_ != NULL) { 385 if (current_buffer_ != NULL) {
400 return false; 386 return false;
401 } 387 }
402 stream_.avail_in = length; 388 stream_.avail_in = length;
403 stream_.next_in = current_buffer_ = data; 389 stream_.next_in = current_buffer_ = data;
404 return true; 390 return true;
405 } 391 }
406 392
407
408 intptr_t ZLibInflateFilter::Processed(uint8_t* buffer, 393 intptr_t ZLibInflateFilter::Processed(uint8_t* buffer,
409 intptr_t length, 394 intptr_t length,
410 bool flush, 395 bool flush,
411 bool end) { 396 bool end) {
412 stream_.avail_out = length; 397 stream_.avail_out = length;
413 stream_.next_out = buffer; 398 stream_.next_out = buffer;
414 bool error = false; 399 bool error = false;
415 int v; 400 int v;
416 switch (v = inflate(&stream_, 401 switch (v = inflate(&stream_,
417 end ? Z_FINISH : flush ? Z_SYNC_FLUSH : Z_NO_FLUSH)) { 402 end ? Z_FINISH : flush ? Z_SYNC_FLUSH : Z_NO_FLUSH)) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 delete[] current_buffer_; 436 delete[] current_buffer_;
452 current_buffer_ = NULL; 437 current_buffer_ = NULL;
453 // Either 0 Byte processed or error 438 // Either 0 Byte processed or error
454 return error ? -1 : 0; 439 return error ? -1 : 0;
455 } 440 }
456 441
457 } // namespace bin 442 } // namespace bin
458 } // namespace dart 443 } // namespace dart
459 444
460 #endif // !defined(DART_IO_DISABLED) 445 #endif // !defined(DART_IO_DISABLED)
OLDNEW
« no previous file with comments | « runtime/bin/file_win.cc ('k') | runtime/bin/filter_unsupported.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698