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

Side by Side Diff: src/assembler.h

Issue 11037023: Use movw/movt instead of constant pool on ARMv7 (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix nits Created 8 years, 2 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/macro-assembler-arm.cc ('k') | src/debug.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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 361
362 private: 362 private:
363 // On ARM, note that pc_ is the address of the constant pool entry 363 // On ARM, note that pc_ is the address of the constant pool entry
364 // to be relocated and not the address of the instruction 364 // to be relocated and not the address of the instruction
365 // referencing the constant pool entry (except when rmode_ == 365 // referencing the constant pool entry (except when rmode_ ==
366 // comment). 366 // comment).
367 byte* pc_; 367 byte* pc_;
368 Mode rmode_; 368 Mode rmode_;
369 intptr_t data_; 369 intptr_t data_;
370 Code* host_; 370 Code* host_;
371 #ifdef V8_TARGET_ARCH_MIPS 371 // Code and Embedded Object pointers on some platforms are stored split
372 // Code and Embedded Object pointers in mips are stored split
373 // across two consecutive 32-bit instructions. Heap management 372 // across two consecutive 32-bit instructions. Heap management
374 // routines expect to access these pointers indirectly. The following 373 // routines expect to access these pointers indirectly. The following
375 // location provides a place for these pointers to exist natually 374 // location provides a place for these pointers to exist naturally
376 // when accessed via the Iterator. 375 // when accessed via the Iterator.
377 Object* reconstructed_obj_ptr_; 376 Object* reconstructed_obj_ptr_;
378 // External-reference pointers are also split across instruction-pairs 377 // External-reference pointers are also split across instruction-pairs
379 // in mips, but are accessed via indirect pointers. This location 378 // on some platforms, but are accessed via indirect pointers. This location
380 // provides a place for that pointer to exist naturally. Its address 379 // provides a place for that pointer to exist naturally. Its address
381 // is returned by RelocInfo::target_reference_address(). 380 // is returned by RelocInfo::target_reference_address().
382 Address reconstructed_adr_ptr_; 381 Address reconstructed_adr_ptr_;
383 #endif // V8_TARGET_ARCH_MIPS
384 friend class RelocIterator; 382 friend class RelocIterator;
385 }; 383 };
386 384
387 385
388 // RelocInfoWriter serializes a stream of relocation info. It writes towards 386 // RelocInfoWriter serializes a stream of relocation info. It writes towards
389 // lower addresses. 387 // lower addresses.
390 class RelocInfoWriter BASE_EMBEDDED { 388 class RelocInfoWriter BASE_EMBEDDED {
391 public: 389 public:
392 RelocInfoWriter() : pos_(NULL), 390 RelocInfoWriter() : pos_(NULL),
393 last_pc_(NULL), 391 last_pc_(NULL),
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 public: 887 public:
890 NullCallWrapper() { } 888 NullCallWrapper() { }
891 virtual ~NullCallWrapper() { } 889 virtual ~NullCallWrapper() { }
892 virtual void BeforeCall(int call_size) const { } 890 virtual void BeforeCall(int call_size) const { }
893 virtual void AfterCall() const { } 891 virtual void AfterCall() const { }
894 }; 892 };
895 893
896 } } // namespace v8::internal 894 } } // namespace v8::internal
897 895
898 #endif // V8_ASSEMBLER_H_ 896 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arm/macro-assembler-arm.cc ('k') | src/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698