| OLD | NEW |
| 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 5181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5192 ACCESSORS(SharedFunctionInfo, optimized_code_map, Object, | 5192 ACCESSORS(SharedFunctionInfo, optimized_code_map, Object, |
| 5193 kOptimizedCodeMapOffset) | 5193 kOptimizedCodeMapOffset) |
| 5194 ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset) | 5194 ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset) |
| 5195 ACCESSORS(SharedFunctionInfo, initial_map, Object, kInitialMapOffset) | 5195 ACCESSORS(SharedFunctionInfo, initial_map, Object, kInitialMapOffset) |
| 5196 ACCESSORS(SharedFunctionInfo, instance_class_name, Object, | 5196 ACCESSORS(SharedFunctionInfo, instance_class_name, Object, |
| 5197 kInstanceClassNameOffset) | 5197 kInstanceClassNameOffset) |
| 5198 ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset) | 5198 ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset) |
| 5199 ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset) | 5199 ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset) |
| 5200 ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset) | 5200 ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset) |
| 5201 ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset) | 5201 ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset) |
| 5202 SMI_ACCESSORS(SharedFunctionInfo, ast_node_count, kAstNodeCountOffset) | |
| 5203 | 5202 |
| 5204 | 5203 |
| 5205 SMI_ACCESSORS(FunctionTemplateInfo, length, kLengthOffset) | 5204 SMI_ACCESSORS(FunctionTemplateInfo, length, kLengthOffset) |
| 5206 BOOL_ACCESSORS(FunctionTemplateInfo, flag, hidden_prototype, | 5205 BOOL_ACCESSORS(FunctionTemplateInfo, flag, hidden_prototype, |
| 5207 kHiddenPrototypeBit) | 5206 kHiddenPrototypeBit) |
| 5208 BOOL_ACCESSORS(FunctionTemplateInfo, flag, undetectable, kUndetectableBit) | 5207 BOOL_ACCESSORS(FunctionTemplateInfo, flag, undetectable, kUndetectableBit) |
| 5209 BOOL_ACCESSORS(FunctionTemplateInfo, flag, needs_access_check, | 5208 BOOL_ACCESSORS(FunctionTemplateInfo, flag, needs_access_check, |
| 5210 kNeedsAccessCheckBit) | 5209 kNeedsAccessCheckBit) |
| 5211 BOOL_ACCESSORS(FunctionTemplateInfo, flag, read_only_prototype, | 5210 BOOL_ACCESSORS(FunctionTemplateInfo, flag, read_only_prototype, |
| 5212 kReadOnlyPrototypeBit) | 5211 kReadOnlyPrototypeBit) |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5247 SMI_ACCESSORS(SharedFunctionInfo, start_position_and_type, | 5246 SMI_ACCESSORS(SharedFunctionInfo, start_position_and_type, |
| 5248 kStartPositionAndTypeOffset) | 5247 kStartPositionAndTypeOffset) |
| 5249 SMI_ACCESSORS(SharedFunctionInfo, end_position, kEndPositionOffset) | 5248 SMI_ACCESSORS(SharedFunctionInfo, end_position, kEndPositionOffset) |
| 5250 SMI_ACCESSORS(SharedFunctionInfo, function_token_position, | 5249 SMI_ACCESSORS(SharedFunctionInfo, function_token_position, |
| 5251 kFunctionTokenPositionOffset) | 5250 kFunctionTokenPositionOffset) |
| 5252 SMI_ACCESSORS(SharedFunctionInfo, compiler_hints, | 5251 SMI_ACCESSORS(SharedFunctionInfo, compiler_hints, |
| 5253 kCompilerHintsOffset) | 5252 kCompilerHintsOffset) |
| 5254 SMI_ACCESSORS(SharedFunctionInfo, opt_count_and_bailout_reason, | 5253 SMI_ACCESSORS(SharedFunctionInfo, opt_count_and_bailout_reason, |
| 5255 kOptCountAndBailoutReasonOffset) | 5254 kOptCountAndBailoutReasonOffset) |
| 5256 SMI_ACCESSORS(SharedFunctionInfo, counters, kCountersOffset) | 5255 SMI_ACCESSORS(SharedFunctionInfo, counters, kCountersOffset) |
| 5256 SMI_ACCESSORS(SharedFunctionInfo, ast_node_count, kAstNodeCountOffset) |
| 5257 SMI_ACCESSORS(SharedFunctionInfo, profiler_ticks, kProfilerTicksOffset) |
| 5257 | 5258 |
| 5258 #else | 5259 #else |
| 5259 | 5260 |
| 5260 #define PSEUDO_SMI_ACCESSORS_LO(holder, name, offset) \ | 5261 #define PSEUDO_SMI_ACCESSORS_LO(holder, name, offset) \ |
| 5261 STATIC_ASSERT(holder::offset % kPointerSize == 0); \ | 5262 STATIC_ASSERT(holder::offset % kPointerSize == 0); \ |
| 5262 int holder::name() { \ | 5263 int holder::name() { \ |
| 5263 int value = READ_INT_FIELD(this, offset); \ | 5264 int value = READ_INT_FIELD(this, offset); \ |
| 5264 ASSERT(kHeapObjectTag == 1); \ | 5265 ASSERT(kHeapObjectTag == 1); \ |
| 5265 ASSERT((value & kHeapObjectTag) == 0); \ | 5266 ASSERT((value & kHeapObjectTag) == 0); \ |
| 5266 return value >> 1; \ | 5267 return value >> 1; \ |
| (...skipping 30 matching lines...) Expand all Loading... |
| 5297 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, | 5298 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, |
| 5298 function_token_position, | 5299 function_token_position, |
| 5299 kFunctionTokenPositionOffset) | 5300 kFunctionTokenPositionOffset) |
| 5300 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, | 5301 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, |
| 5301 compiler_hints, | 5302 compiler_hints, |
| 5302 kCompilerHintsOffset) | 5303 kCompilerHintsOffset) |
| 5303 | 5304 |
| 5304 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, | 5305 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, |
| 5305 opt_count_and_bailout_reason, | 5306 opt_count_and_bailout_reason, |
| 5306 kOptCountAndBailoutReasonOffset) | 5307 kOptCountAndBailoutReasonOffset) |
| 5308 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, counters, kCountersOffset) |
| 5307 | 5309 |
| 5308 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, counters, kCountersOffset) | 5310 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, |
| 5311 ast_node_count, |
| 5312 kAstNodeCountOffset) |
| 5313 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, |
| 5314 profiler_ticks, |
| 5315 kProfilerTicksOffset) |
| 5309 | 5316 |
| 5310 #endif | 5317 #endif |
| 5311 | 5318 |
| 5312 | 5319 |
| 5313 int SharedFunctionInfo::construction_count() { | 5320 int SharedFunctionInfo::construction_count() { |
| 5314 return READ_BYTE_FIELD(this, kConstructionCountOffset); | 5321 return READ_BYTE_FIELD(this, kConstructionCountOffset); |
| 5315 } | 5322 } |
| 5316 | 5323 |
| 5317 | 5324 |
| 5318 void SharedFunctionInfo::set_construction_count(int value) { | 5325 void SharedFunctionInfo::set_construction_count(int value) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 5343 kOptimizationDisabled, | 5350 kOptimizationDisabled, |
| 5344 disable)); | 5351 disable)); |
| 5345 // If disabling optimizations we reflect that in the code object so | 5352 // If disabling optimizations we reflect that in the code object so |
| 5346 // it will not be counted as optimizable code. | 5353 // it will not be counted as optimizable code. |
| 5347 if ((code()->kind() == Code::FUNCTION) && disable) { | 5354 if ((code()->kind() == Code::FUNCTION) && disable) { |
| 5348 code()->set_optimizable(false); | 5355 code()->set_optimizable(false); |
| 5349 } | 5356 } |
| 5350 } | 5357 } |
| 5351 | 5358 |
| 5352 | 5359 |
| 5353 int SharedFunctionInfo::profiler_ticks() { | |
| 5354 if (code()->kind() != Code::FUNCTION) return 0; | |
| 5355 return code()->profiler_ticks(); | |
| 5356 } | |
| 5357 | |
| 5358 | |
| 5359 StrictMode SharedFunctionInfo::strict_mode() { | 5360 StrictMode SharedFunctionInfo::strict_mode() { |
| 5360 return BooleanBit::get(compiler_hints(), kStrictModeFunction) | 5361 return BooleanBit::get(compiler_hints(), kStrictModeFunction) |
| 5361 ? STRICT : SLOPPY; | 5362 ? STRICT : SLOPPY; |
| 5362 } | 5363 } |
| 5363 | 5364 |
| 5364 | 5365 |
| 5365 void SharedFunctionInfo::set_strict_mode(StrictMode strict_mode) { | 5366 void SharedFunctionInfo::set_strict_mode(StrictMode strict_mode) { |
| 5366 // We only allow mode transitions from sloppy to strict. | 5367 // We only allow mode transitions from sloppy to strict. |
| 5367 ASSERT(this->strict_mode() == SLOPPY || this->strict_mode() == strict_mode); | 5368 ASSERT(this->strict_mode() == SLOPPY || this->strict_mode() == strict_mode); |
| 5368 int hints = compiler_hints(); | 5369 int hints = compiler_hints(); |
| (...skipping 1650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7019 #undef READ_SHORT_FIELD | 7020 #undef READ_SHORT_FIELD |
| 7020 #undef WRITE_SHORT_FIELD | 7021 #undef WRITE_SHORT_FIELD |
| 7021 #undef READ_BYTE_FIELD | 7022 #undef READ_BYTE_FIELD |
| 7022 #undef WRITE_BYTE_FIELD | 7023 #undef WRITE_BYTE_FIELD |
| 7023 #undef NOBARRIER_READ_BYTE_FIELD | 7024 #undef NOBARRIER_READ_BYTE_FIELD |
| 7024 #undef NOBARRIER_WRITE_BYTE_FIELD | 7025 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 7025 | 7026 |
| 7026 } } // namespace v8::internal | 7027 } } // namespace v8::internal |
| 7027 | 7028 |
| 7028 #endif // V8_OBJECTS_INL_H_ | 7029 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |