I aim to add three new fields in the HEAP_OBJECT_FIELDS, which are newfield1(type is kTaggedSize), newfield2(type is kIntSize) and newfield3(type is kIntSize). For this, I have modified related member variables of class Internals and some others, for example, I made the value of kMapInstanceTypeOffset is 1 * kApiTaggedSize + kApiIntSize + 16, the "16" is sum of kTaggedSize,kIntSize and kIntSize.
#define HEAP_OBJECT_FIELDS(V) \
V(kMapOffset, kTaggedSize) \
/* Header size. */ \
V(newfield1, kTaggedSize)\
V(newfield2, kIntSize) \
V(newfield3, kIntSize) \
V(kHeaderSize, 0)
DEFINE_FIELD_OFFSET_CONSTANTS(Object::kHeaderSize, HEAP_OBJECT_FIELDS)
#undef HEAP_OBJECT_FIELDS
My last modification is free-space-inl.h,at line 55:DCHECK_LE(kNextOffset+kPointerSize , relaxed_read_size()); I delete the kPointerSize.made it is DCHECK_LE(kNextOffset, relaxed_read_size());
1>[34986/35430] LINK mksnapshot.exe mksnapshot.exe.pdb
1> Input File Reading: 616 ms ( 10.5%)
1> Code Layout: 123 ms ( 2.1%)
1> PDB Emission (Cumulative): 4945 ms ( 84.3%)
1> Add Objects: 4071 ms ( 69.4%)
1> Type Merging: 3440 ms ( 58.7%)
1> Symbol Merging: 628 ms ( 10.7%)
1> TPI Stream Layout: 96 ms ( 1.6%)
1> Globals Stream Layout: 158 ms ( 2.7%)
1> Commit to Disk: 438 ms ( 7.5%)
1> Commit Output File: 38 ms ( 0.7%)
1>-------------------------------------------------
1>Total Link Time: 5863 ms (100.0%)
1>[34987/35430] ACTION //v8:run_mksnapshot_default(//build/toolchain/win:win_clang_x64)
1>FAILED: gen/v8/embedded.S gen/v8/snapshot.cc
1>C:/Chromium/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../v8/tools/run.py ./mksnapshot --turbo_instruction_scheduling --embedded_src gen/v8/embedded.S --embedded_variant Default --random-seed 314159265 --startup_src gen/v8/snapshot.cc --code-comments
1>ninja: build stopped: subcommand failed.
1>C:\chromium71\src\out\Default\obj\chrome\chrome.vcxproj(54,5): error MSB3073: 命令“call ninja.exe -C ../../../../out/Default/ obj/chrome/chrome.stamp”