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

Side by Side Diff: src/objects-inl.h

Issue 2633803002: [inspector] implemented blackboxing inside v8 (Closed)
Patch Set: fixed tests Created 3 years, 11 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Review notes: 5 // Review notes:
6 // 6 //
7 // - The use of macros in these inline functions may seem superfluous 7 // - The use of macros in these inline functions may seem superfluous
8 // but it is absolutely needed to make sure gcc generates optimal 8 // but it is absolutely needed to make sure gcc generates optimal
9 // code. gcc is not happy when attempting to inline too deep. 9 // code. gcc is not happy when attempting to inline too deep.
10 // 10 //
(...skipping 6025 matching lines...) Expand 10 before | Expand all | Expand 10 after
6036 kRemovePrototypeBit) 6036 kRemovePrototypeBit)
6037 BOOL_ACCESSORS(FunctionTemplateInfo, flag, do_not_cache, 6037 BOOL_ACCESSORS(FunctionTemplateInfo, flag, do_not_cache,
6038 kDoNotCacheBit) 6038 kDoNotCacheBit)
6039 BOOL_ACCESSORS(FunctionTemplateInfo, flag, accept_any_receiver, 6039 BOOL_ACCESSORS(FunctionTemplateInfo, flag, accept_any_receiver,
6040 kAcceptAnyReceiver) 6040 kAcceptAnyReceiver)
6041 BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_named_expression, 6041 BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_named_expression,
6042 kIsNamedExpressionBit) 6042 kIsNamedExpressionBit)
6043 BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_toplevel, 6043 BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_toplevel,
6044 kIsTopLevelBit) 6044 kIsTopLevelBit)
6045 6045
6046 BOOL_ACCESSORS(SharedFunctionInfo, end_position_and_is_blackboxed,
6047 debug_is_blackboxed, kIsBlackboxedBit)
6048 BOOL_ACCESSORS(SharedFunctionInfo, end_position_and_is_blackboxed,
6049 computed_debug_is_blackboxed, kIsBlackboxedComputedBit)
6050
6046 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, allows_lazy_compilation, 6051 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, allows_lazy_compilation,
6047 kAllowLazyCompilation) 6052 kAllowLazyCompilation)
6048 BOOL_ACCESSORS(SharedFunctionInfo, 6053 BOOL_ACCESSORS(SharedFunctionInfo,
6049 compiler_hints, 6054 compiler_hints,
6050 uses_arguments, 6055 uses_arguments,
6051 kUsesArguments) 6056 kUsesArguments)
6052 BOOL_ACCESSORS(SharedFunctionInfo, 6057 BOOL_ACCESSORS(SharedFunctionInfo,
6053 compiler_hints, 6058 compiler_hints,
6054 has_duplicate_parameters, 6059 has_duplicate_parameters,
6055 kHasDuplicateParameters) 6060 kHasDuplicateParameters)
6056 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, asm_function, kIsAsmFunction) 6061 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, asm_function, kIsAsmFunction)
6057 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, deserialized, kDeserialized) 6062 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, deserialized, kDeserialized)
6058 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_declaration, 6063 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, is_declaration,
6059 kIsDeclaration) 6064 kIsDeclaration)
6060 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, marked_for_tier_up, 6065 BOOL_ACCESSORS(SharedFunctionInfo, compiler_hints, marked_for_tier_up,
6061 kMarkedForTierUp) 6066 kMarkedForTierUp)
6062 6067
6063 #if V8_HOST_ARCH_32_BIT 6068 #if V8_HOST_ARCH_32_BIT
6064 SMI_ACCESSORS(SharedFunctionInfo, length, kLengthOffset) 6069 SMI_ACCESSORS(SharedFunctionInfo, length, kLengthOffset)
6065 SMI_ACCESSORS(SharedFunctionInfo, internal_formal_parameter_count, 6070 SMI_ACCESSORS(SharedFunctionInfo, internal_formal_parameter_count,
6066 kFormalParameterCountOffset) 6071 kFormalParameterCountOffset)
6067 SMI_ACCESSORS(SharedFunctionInfo, expected_nof_properties, 6072 SMI_ACCESSORS(SharedFunctionInfo, expected_nof_properties,
6068 kExpectedNofPropertiesOffset) 6073 kExpectedNofPropertiesOffset)
6069 SMI_ACCESSORS(SharedFunctionInfo, num_literals, kNumLiteralsOffset) 6074 SMI_ACCESSORS(SharedFunctionInfo, num_literals, kNumLiteralsOffset)
6070 SMI_ACCESSORS(SharedFunctionInfo, start_position_and_type, 6075 SMI_ACCESSORS(SharedFunctionInfo, start_position_and_type,
6071 kStartPositionAndTypeOffset) 6076 kStartPositionAndTypeOffset)
6072 SMI_ACCESSORS(SharedFunctionInfo, end_position, kEndPositionOffset) 6077 SMI_ACCESSORS(SharedFunctionInfo, end_position_and_is_blackboxed,
6078 kEndPositionAndIsBlackboxedOffset)
6073 SMI_ACCESSORS(SharedFunctionInfo, function_token_position, 6079 SMI_ACCESSORS(SharedFunctionInfo, function_token_position,
6074 kFunctionTokenPositionOffset) 6080 kFunctionTokenPositionOffset)
6075 SMI_ACCESSORS(SharedFunctionInfo, compiler_hints, 6081 SMI_ACCESSORS(SharedFunctionInfo, compiler_hints,
6076 kCompilerHintsOffset) 6082 kCompilerHintsOffset)
6077 SMI_ACCESSORS(SharedFunctionInfo, opt_count_and_bailout_reason, 6083 SMI_ACCESSORS(SharedFunctionInfo, opt_count_and_bailout_reason,
6078 kOptCountAndBailoutReasonOffset) 6084 kOptCountAndBailoutReasonOffset)
6079 SMI_ACCESSORS(SharedFunctionInfo, counters, kCountersOffset) 6085 SMI_ACCESSORS(SharedFunctionInfo, counters, kCountersOffset)
6080 SMI_ACCESSORS(SharedFunctionInfo, ast_node_count, kAstNodeCountOffset) 6086 SMI_ACCESSORS(SharedFunctionInfo, ast_node_count, kAstNodeCountOffset)
6081 SMI_ACCESSORS(SharedFunctionInfo, profiler_ticks, kProfilerTicksOffset) 6087 SMI_ACCESSORS(SharedFunctionInfo, profiler_ticks, kProfilerTicksOffset)
6082 6088
(...skipping 28 matching lines...) Expand all
6111 6117
6112 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, length, kLengthOffset) 6118 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, length, kLengthOffset)
6113 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, internal_formal_parameter_count, 6119 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, internal_formal_parameter_count,
6114 kFormalParameterCountOffset) 6120 kFormalParameterCountOffset)
6115 6121
6116 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, 6122 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo,
6117 expected_nof_properties, 6123 expected_nof_properties,
6118 kExpectedNofPropertiesOffset) 6124 kExpectedNofPropertiesOffset)
6119 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, num_literals, kNumLiteralsOffset) 6125 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, num_literals, kNumLiteralsOffset)
6120 6126
6121 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, end_position, kEndPositionOffset) 6127 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, end_position_and_is_blackboxed,
6128 kEndPositionAndIsBlackboxedOffset)
6122 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, 6129 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo,
6123 start_position_and_type, 6130 start_position_and_type,
6124 kStartPositionAndTypeOffset) 6131 kStartPositionAndTypeOffset)
6125 6132
6126 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, 6133 PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo,
6127 function_token_position, 6134 function_token_position,
6128 kFunctionTokenPositionOffset) 6135 kFunctionTokenPositionOffset)
6129 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, 6136 PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo,
6130 compiler_hints, 6137 compiler_hints,
6131 kCompilerHintsOffset) 6138 kCompilerHintsOffset)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
6227 } 6234 }
6228 6235
6229 6236
6230 void SharedFunctionInfo::DontAdaptArguments() { 6237 void SharedFunctionInfo::DontAdaptArguments() {
6231 DCHECK(code()->kind() == Code::BUILTIN || code()->kind() == Code::STUB); 6238 DCHECK(code()->kind() == Code::BUILTIN || code()->kind() == Code::STUB);
6232 set_internal_formal_parameter_count(kDontAdaptArgumentsSentinel); 6239 set_internal_formal_parameter_count(kDontAdaptArgumentsSentinel);
6233 } 6240 }
6234 6241
6235 6242
6236 int SharedFunctionInfo::start_position() const { 6243 int SharedFunctionInfo::start_position() const {
6237 return start_position_and_type() >> kStartPositionShift; 6244 return start_position_and_type() >> kPositionShift;
6238 } 6245 }
6239 6246
6240 6247
6241 void SharedFunctionInfo::set_start_position(int start_position) { 6248 void SharedFunctionInfo::set_start_position(int start_position) {
6242 set_start_position_and_type((start_position << kStartPositionShift) 6249 set_start_position_and_type((start_position << kPositionShift) |
6243 | (start_position_and_type() & ~kStartPositionMask)); 6250 (start_position_and_type() & ~kPositionMask));
6251 }
6252
6253 int SharedFunctionInfo::end_position() const {
6254 return end_position_and_is_blackboxed() >> kPositionShift;
6255 }
6256
6257 void SharedFunctionInfo::set_end_position(int end_position) {
6258 set_end_position_and_is_blackboxed(
6259 (end_position << kPositionShift) |
6260 (end_position_and_is_blackboxed() & ~kPositionMask));
6244 } 6261 }
6245 6262
6246 6263
6247 Code* SharedFunctionInfo::code() const { 6264 Code* SharedFunctionInfo::code() const {
6248 return Code::cast(READ_FIELD(this, kCodeOffset)); 6265 return Code::cast(READ_FIELD(this, kCodeOffset));
6249 } 6266 }
6250 6267
6251 6268
6252 void SharedFunctionInfo::set_code(Code* value, WriteBarrierMode mode) { 6269 void SharedFunctionInfo::set_code(Code* value, WriteBarrierMode mode) {
6253 DCHECK(value->kind() != Code::OPTIMIZED_FUNCTION); 6270 DCHECK(value->kind() != Code::OPTIMIZED_FUNCTION);
(...skipping 2163 matching lines...) Expand 10 before | Expand all | Expand 10 after
8417 #undef WRITE_INT64_FIELD 8434 #undef WRITE_INT64_FIELD
8418 #undef READ_BYTE_FIELD 8435 #undef READ_BYTE_FIELD
8419 #undef WRITE_BYTE_FIELD 8436 #undef WRITE_BYTE_FIELD
8420 #undef NOBARRIER_READ_BYTE_FIELD 8437 #undef NOBARRIER_READ_BYTE_FIELD
8421 #undef NOBARRIER_WRITE_BYTE_FIELD 8438 #undef NOBARRIER_WRITE_BYTE_FIELD
8422 8439
8423 } // namespace internal 8440 } // namespace internal
8424 } // namespace v8 8441 } // namespace v8
8425 8442
8426 #endif // V8_OBJECTS_INL_H_ 8443 #endif // V8_OBJECTS_INL_H_
OLDNEW
« src/objects.cc ('K') | « src/objects.cc ('k') | src/runtime/runtime-function.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698