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

Side by Side Diff: src/assembler.h

Issue 1079012: Fix pop push optimization to work with partial snapshots (correct... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/assembler.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) 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 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 436
437 static ExternalReference double_fp_operation(Token::Value operation); 437 static ExternalReference double_fp_operation(Token::Value operation);
438 static ExternalReference compare_doubles(); 438 static ExternalReference compare_doubles();
439 439
440 static ExternalReference handle_scope_extensions_address(); 440 static ExternalReference handle_scope_extensions_address();
441 static ExternalReference handle_scope_next_address(); 441 static ExternalReference handle_scope_next_address();
442 static ExternalReference handle_scope_limit_address(); 442 static ExternalReference handle_scope_limit_address();
443 443
444 static ExternalReference scheduled_exception_address(); 444 static ExternalReference scheduled_exception_address();
445 445
446 static ExternalReference compile_array_pop_call();
447 static ExternalReference compile_array_push_call();
448
446 Address address() const {return reinterpret_cast<Address>(address_);} 449 Address address() const {return reinterpret_cast<Address>(address_);}
447 450
448 #ifdef ENABLE_DEBUGGER_SUPPORT 451 #ifdef ENABLE_DEBUGGER_SUPPORT
449 // Function Debug::Break() 452 // Function Debug::Break()
450 static ExternalReference debug_break(); 453 static ExternalReference debug_break();
451 454
452 // Used to check if single stepping is enabled in generated code. 455 // Used to check if single stepping is enabled in generated code.
453 static ExternalReference debug_step_in_fp_address(); 456 static ExternalReference debug_step_in_fp_address();
454 #endif 457 #endif
455 458
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 (*redirector_)(address, fp_return); 499 (*redirector_)(address, fp_return);
497 return answer; 500 return answer;
498 } 501 }
499 502
500 void* address_; 503 void* address_;
501 }; 504 };
502 505
503 506
504 // ----------------------------------------------------------------------------- 507 // -----------------------------------------------------------------------------
505 // Utility functions 508 // Utility functions
506 509
Kasper Lund 2010/03/23 14:27:52 Intentional edit?
510
507 static inline bool is_intn(int x, int n) { 511 static inline bool is_intn(int x, int n) {
508 return -(1 << (n-1)) <= x && x < (1 << (n-1)); 512 return -(1 << (n-1)) <= x && x < (1 << (n-1));
509 } 513 }
510 514
511 static inline bool is_int8(int x) { return is_intn(x, 8); } 515 static inline bool is_int8(int x) { return is_intn(x, 8); }
512 static inline bool is_int16(int x) { return is_intn(x, 16); } 516 static inline bool is_int16(int x) { return is_intn(x, 16); }
513 static inline bool is_int18(int x) { return is_intn(x, 18); } 517 static inline bool is_int18(int x) { return is_intn(x, 18); }
514 static inline bool is_int24(int x) { return is_intn(x, 24); } 518 static inline bool is_int24(int x) { return is_intn(x, 24); }
515 519
516 static inline bool is_uintn(int x, int n) { 520 static inline bool is_uintn(int x, int n) {
(...skipping 17 matching lines...) Expand all
534 unsigned int num_bits_set; 538 unsigned int num_bits_set;
535 for (num_bits_set = 0; x; x >>= 1) { 539 for (num_bits_set = 0; x; x >>= 1) {
536 num_bits_set += x & 1; 540 num_bits_set += x & 1;
537 } 541 }
538 return num_bits_set; 542 return num_bits_set;
539 } 543 }
540 544
541 } } // namespace v8::internal 545 } } // namespace v8::internal
542 546
543 #endif // V8_ASSEMBLER_H_ 547 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698