Changeset 226725 in webkit for trunk/Source/JavaScriptCore/runtime/VM.h
- Timestamp:
- Jan 10, 2018, 11:41:12 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/VM.h
r226667 r226725 1 1 /* 2 * Copyright (C) 2008-201 8Apple Inc. All rights reserved.2 * Copyright (C) 2008-2017 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 340 340 341 341 IsoSubspace directEvalExecutableSpace; 342 IsoSubspace executableToCodeBlockEdgeSpace;343 342 IsoSubspace functionExecutableSpace; 344 343 IsoSubspace indirectEvalExecutableSpace; … … 354 353 IsoSubspace weakMapSpace; 355 354 356 IsoCellSet executableToCodeBlockEdgesWithConstraints;357 IsoCellSet executableToCodeBlockEdgesWithFinalizers;358 355 IsoCellSet inferredTypesWithFinalizers; 359 356 IsoCellSet inferredValuesWithFinalizers; 360 361 struct SpaceAndFinalizerSet { 362 IsoSubspace space; 363 IsoCellSet finalizerSet; 364 365 template<typename... Arguments> 366 SpaceAndFinalizerSet(Arguments&&... arguments) 367 : space(std::forward<Arguments>(arguments)...) 368 , finalizerSet(space) 369 { 370 } 371 372 static IsoCellSet& finalizerSetFor(Subspace& space) 373 { 374 return *bitwise_cast<IsoCellSet*>( 375 bitwise_cast<char*>(&space) - 376 OBJECT_OFFSETOF(SpaceAndFinalizerSet, space) + 377 OBJECT_OFFSETOF(SpaceAndFinalizerSet, finalizerSet)); 378 } 379 }; 380 381 SpaceAndFinalizerSet evalCodeBlockSpace; 382 SpaceAndFinalizerSet functionCodeBlockSpace; 383 SpaceAndFinalizerSet moduleProgramCodeBlockSpace; 384 SpaceAndFinalizerSet programCodeBlockSpace; 385 386 template<typename Func> 387 void forEachCodeBlockSpace(const Func& func) 388 { 389 // This should not include webAssemblyCodeBlockSpace because this is about subsclasses of 390 // JSC::CodeBlock. 391 func(evalCodeBlockSpace); 392 func(functionCodeBlockSpace); 393 func(moduleProgramCodeBlockSpace); 394 func(programCodeBlockSpace); 395 } 396 357 397 358 VMType vmType; 398 359 ClientData* clientData; … … 458 419 Strong<Structure> mapIteratorStructure; 459 420 Strong<Structure> bigIntStructure; 460 Strong<Structure> executableToCodeBlockEdgeStructure;461 421 462 422 Strong<JSCell> emptyPropertyNameEnumerator;
Note:
See TracChangeset
for help on using the changeset viewer.