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

Side by Side Diff: src/objects.h

Issue 6334083: Streamline the code for patching optimized code for lazy deopt. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge/build/ia32
Patch Set: Rewrite the incorrect comment mentioning absolute calls. Created 9 years, 10 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/ia32/lithium-codegen-ia32.cc ('k') | src/objects.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 3257 matching lines...) Expand 10 before | Expand all | Expand 10 after
3268 inline void set_allow_osr_at_loop_nesting_level(int level); 3268 inline void set_allow_osr_at_loop_nesting_level(int level);
3269 inline int allow_osr_at_loop_nesting_level(); 3269 inline int allow_osr_at_loop_nesting_level();
3270 3270
3271 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots 3271 // [stack_slots]: For kind OPTIMIZED_FUNCTION, the number of stack slots
3272 // reserved in the code prologue. 3272 // reserved in the code prologue.
3273 inline unsigned stack_slots(); 3273 inline unsigned stack_slots();
3274 inline void set_stack_slots(unsigned slots); 3274 inline void set_stack_slots(unsigned slots);
3275 3275
3276 // [safepoint_table_start]: For kind OPTIMIZED_CODE, the offset in 3276 // [safepoint_table_start]: For kind OPTIMIZED_CODE, the offset in
3277 // the instruction stream where the safepoint table starts. 3277 // the instruction stream where the safepoint table starts.
3278 inline unsigned safepoint_table_start(); 3278 inline unsigned safepoint_table_offset();
3279 inline void set_safepoint_table_start(unsigned offset); 3279 inline void set_safepoint_table_offset(unsigned offset);
3280 3280
3281 // [stack_check_table_start]: For kind FUNCTION, the offset in the 3281 // [stack_check_table_start]: For kind FUNCTION, the offset in the
3282 // instruction stream where the stack check table starts. 3282 // instruction stream where the stack check table starts.
3283 inline unsigned stack_check_table_start(); 3283 inline unsigned stack_check_table_offset();
3284 inline void set_stack_check_table_start(unsigned offset); 3284 inline void set_stack_check_table_offset(unsigned offset);
3285 3285
3286 // [check type]: For kind CALL_IC, tells how to check if the 3286 // [check type]: For kind CALL_IC, tells how to check if the
3287 // receiver is valid for the given call. 3287 // receiver is valid for the given call.
3288 inline CheckType check_type(); 3288 inline CheckType check_type();
3289 inline void set_check_type(CheckType value); 3289 inline void set_check_type(CheckType value);
3290 3290
3291 // [binary op type]: For all BINARY_OP_IC. 3291 // [binary op type]: For all BINARY_OP_IC.
3292 inline byte binary_op_type(); 3292 inline byte binary_op_type();
3293 inline void set_binary_op_type(byte value); 3293 inline void set_binary_op_type(byte value);
3294 3294
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
3438 static const int kCheckTypeOffset = kKindSpecificFlagsOffset; 3438 static const int kCheckTypeOffset = kKindSpecificFlagsOffset;
3439 3439
3440 static const int kCompareStateOffset = kStubMajorKeyOffset + 1; 3440 static const int kCompareStateOffset = kStubMajorKeyOffset + 1;
3441 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1; 3441 static const int kBinaryOpTypeOffset = kStubMajorKeyOffset + 1;
3442 static const int kHasDeoptimizationSupportOffset = kOptimizableOffset + 1; 3442 static const int kHasDeoptimizationSupportOffset = kOptimizableOffset + 1;
3443 3443
3444 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1; 3444 static const int kBinaryOpReturnTypeOffset = kBinaryOpTypeOffset + 1;
3445 static const int kAllowOSRAtLoopNestingLevelOffset = 3445 static const int kAllowOSRAtLoopNestingLevelOffset =
3446 kHasDeoptimizationSupportOffset + 1; 3446 kHasDeoptimizationSupportOffset + 1;
3447 3447
3448 static const int kSafepointTableStartOffset = kStackSlotsOffset + kIntSize; 3448 static const int kSafepointTableOffsetOffset = kStackSlotsOffset + kIntSize;
3449 static const int kStackCheckTableStartOffset = kStackSlotsOffset + kIntSize; 3449 static const int kStackCheckTableOffsetOffset = kStackSlotsOffset + kIntSize;
3450 3450
3451 // Flags layout. 3451 // Flags layout.
3452 static const int kFlagsICStateShift = 0; 3452 static const int kFlagsICStateShift = 0;
3453 static const int kFlagsICInLoopShift = 3; 3453 static const int kFlagsICInLoopShift = 3;
3454 static const int kFlagsTypeShift = 4; 3454 static const int kFlagsTypeShift = 4;
3455 static const int kFlagsKindShift = 7; 3455 static const int kFlagsKindShift = 7;
3456 static const int kFlagsICHolderShift = 11; 3456 static const int kFlagsICHolderShift = 11;
3457 static const int kFlagsExtraICStateShift = 12; 3457 static const int kFlagsExtraICStateShift = 12;
3458 static const int kFlagsArgumentsCountShift = 14; 3458 static const int kFlagsArgumentsCountShift = 14;
3459 3459
(...skipping 3032 matching lines...) Expand 10 before | Expand all | Expand 10 after
6492 } else { 6492 } else {
6493 value &= ~(1 << bit_position); 6493 value &= ~(1 << bit_position);
6494 } 6494 }
6495 return value; 6495 return value;
6496 } 6496 }
6497 }; 6497 };
6498 6498
6499 } } // namespace v8::internal 6499 } } // namespace v8::internal
6500 6500
6501 #endif // V8_OBJECTS_H_ 6501 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/ia32/lithium-codegen-ia32.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698