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

Side by Side Diff: src/objects.h

Issue 88043002: Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix rebase error. Created 7 years 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 7238 matching lines...) Expand 10 before | Expand all | Expand 10 after
7249 DECL_ACCESSORS(prototype_or_initial_map, Object) 7249 DECL_ACCESSORS(prototype_or_initial_map, Object)
7250 7250
7251 // [shared]: The information about the function that 7251 // [shared]: The information about the function that
7252 // can be shared by instances. 7252 // can be shared by instances.
7253 DECL_ACCESSORS(shared, SharedFunctionInfo) 7253 DECL_ACCESSORS(shared, SharedFunctionInfo)
7254 7254
7255 // [context]: The context for this function. 7255 // [context]: The context for this function.
7256 inline Context* context(); 7256 inline Context* context();
7257 inline void set_context(Object* context); 7257 inline void set_context(Object* context);
7258 7258
7259 // [constant_pool]: The constant pool for this function.
7260 inline ConstantPoolArray* constant_pool();
7261 inline void set_constant_pool(Object* context);
7262
7259 // [code]: The generated code object for this function. Executed 7263 // [code]: The generated code object for this function. Executed
7260 // when the function is invoked, e.g. foo() or new foo(). See 7264 // when the function is invoked, e.g. foo() or new foo(). See
7261 // [[Call]] and [[Construct]] description in ECMA-262, section 7265 // [[Call]] and [[Construct]] description in ECMA-262, section
7262 // 8.6.2, page 27. 7266 // 8.6.2, page 27.
7263 inline Code* code(); 7267 inline Code* code();
7264 inline void set_code(Code* code); 7268 inline void set_code(Code* code);
7265 inline void set_code_no_write_barrier(Code* code); 7269 inline void set_code_no_write_barrier(Code* code);
7266 inline void ReplaceCode(Code* code); 7270 inline void ReplaceCode(Code* code);
7267 7271
7268 // Tells whether this function is builtin. 7272 // Tells whether this function is builtin.
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
7393 bool PassesFilter(const char* raw_filter); 7397 bool PassesFilter(const char* raw_filter);
7394 7398
7395 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to 7399 // Layout descriptors. The last property (from kNonWeakFieldsEndOffset to
7396 // kSize) is weak and has special handling during garbage collection. 7400 // kSize) is weak and has special handling during garbage collection.
7397 static const int kCodeEntryOffset = JSObject::kHeaderSize; 7401 static const int kCodeEntryOffset = JSObject::kHeaderSize;
7398 static const int kPrototypeOrInitialMapOffset = 7402 static const int kPrototypeOrInitialMapOffset =
7399 kCodeEntryOffset + kPointerSize; 7403 kCodeEntryOffset + kPointerSize;
7400 static const int kSharedFunctionInfoOffset = 7404 static const int kSharedFunctionInfoOffset =
7401 kPrototypeOrInitialMapOffset + kPointerSize; 7405 kPrototypeOrInitialMapOffset + kPointerSize;
7402 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize; 7406 static const int kContextOffset = kSharedFunctionInfoOffset + kPointerSize;
7403 static const int kLiteralsOffset = kContextOffset + kPointerSize; 7407 static const int kConstantPoolOffset = kContextOffset + kPointerSize;
7408 static const int kLiteralsOffset = kConstantPoolOffset + kPointerSize;
7404 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize; 7409 static const int kNonWeakFieldsEndOffset = kLiteralsOffset + kPointerSize;
7405 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset; 7410 static const int kNextFunctionLinkOffset = kNonWeakFieldsEndOffset;
7406 static const int kSize = kNextFunctionLinkOffset + kPointerSize; 7411 static const int kSize = kNextFunctionLinkOffset + kPointerSize;
7407 7412
7408 // Layout of the literals array. 7413 // Layout of the literals array.
7409 static const int kLiteralsPrefixSize = 1; 7414 static const int kLiteralsPrefixSize = 1;
7410 static const int kLiteralNativeContextIndex = 0; 7415 static const int kLiteralNativeContextIndex = 0;
7411 7416
7412 // Layout of the bound-function binding array. 7417 // Layout of the bound-function binding array.
7413 static const int kBoundFunctionIndex = 0; 7418 static const int kBoundFunctionIndex = 0;
(...skipping 3216 matching lines...) Expand 10 before | Expand all | Expand 10 after
10630 } else { 10635 } else {
10631 value &= ~(1 << bit_position); 10636 value &= ~(1 << bit_position);
10632 } 10637 }
10633 return value; 10638 return value;
10634 } 10639 }
10635 }; 10640 };
10636 10641
10637 } } // namespace v8::internal 10642 } } // namespace v8::internal
10638 10643
10639 #endif // V8_OBJECTS_H_ 10644 #endif // V8_OBJECTS_H_
OLDNEW
« src/arm/full-codegen-arm.cc ('K') | « src/mips/frames-mips.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698