author | Luke Wagner <luke@mozilla.com> |
Thu, 23 Aug 2018 11:23:52 -0500 | |
changeset 433141 | 249688402db2fea2a16fb6eb4d6de33abf5bd1c4 |
parent 433140 | 7708abde9c7581d1013843ed19aa4c67edd4e518 |
child 433142 | 5ff39f587a0de8a75ab92bc16b58c759cffdb42c |
push id | 34499 |
push user | csabou@mozilla.com |
push date | Thu, 23 Aug 2018 21:40:51 +0000 |
treeherder | mozilla-central@49b70f7e6817 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bbouvier |
bugs | 1485162 |
milestone | 63.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jit/shared/CodeGenerator-shared-inl.h +++ b/js/src/jit/shared/CodeGenerator-shared-inl.h @@ -217,31 +217,31 @@ CodeGeneratorShared::ArgToStackOffset(in (gen->compilingWasm() ? sizeof(wasm::Frame) : sizeof(JitFrameLayout)) + slot; } int32_t CodeGeneratorShared::SlotToStackOffset(int32_t slot) const { MOZ_ASSERT(slot > 0 && slot <= int32_t(graph.localSlotCount())); - int32_t offset = masm.framePushed() - frameInitialAdjustment_ - slot; + int32_t offset = masm.framePushed() - slot; MOZ_ASSERT(offset >= 0); return offset; } int32_t CodeGeneratorShared::StackOffsetToSlot(int32_t offset) const { // See: SlotToStackOffset. This is used to convert pushed arguments // to a slot index that safepoints can use. // // offset = framePushed - frameInitialAdjustment - slot // offset + slot = framePushed - frameInitialAdjustment // slot = framePushed - frameInitialAdjustement - offset - return masm.framePushed() - frameInitialAdjustment_ - offset; + return masm.framePushed() - offset; } // For argument construction for calls. Argslots are Value-sized. int32_t CodeGeneratorShared::StackOffsetOfPassedArg(int32_t slot) const { // A slot of 0 is permitted only to calculate %esp offset for calls. MOZ_ASSERT(slot >= 0 && slot <= int32_t(graph.argumentSlotCount()));
--- a/js/src/jit/shared/CodeGenerator-shared.cpp +++ b/js/src/jit/shared/CodeGenerator-shared.cpp @@ -70,17 +70,16 @@ CodeGeneratorShared::CodeGeneratorShared trackedOptimizationsTypesTableOffset_(0), trackedOptimizationsAttemptsTableOffset_(0), osrEntryOffset_(0), skipArgCheckEntryOffset_(0), #ifdef CHECK_OSIPOINT_REGISTERS checkOsiPointRegisters(JitOptions.checkOsiPointRegisters), #endif frameDepth_(graph->paddedLocalSlotsSize() + graph->argumentsSize()), - frameInitialAdjustment_(0), frameClass_(FrameSizeClass::None()) { if (gen->isProfilerInstrumentationEnabled()) masm.enableProfilingInstrumentation(); if (gen->compilingWasm()) { // Since wasm uses the system ABI which does not necessarily use a // regular array where all slots are sizeof(Value), it maintains the max
--- a/js/src/jit/shared/CodeGenerator-shared.h +++ b/js/src/jit/shared/CodeGenerator-shared.h @@ -167,21 +167,16 @@ class CodeGeneratorShared : public LElem bool checkOsiPointRegisters; #endif // The initial size of the frame in bytes. These are bytes beyond the // constant header present for every Ion frame, used for pre-determined // spills. int32_t frameDepth_; - // In some cases, we force stack alignment to platform boundaries, see - // also CodeGeneratorShared constructor. This value records the adjustment - // we've done. - int32_t frameInitialAdjustment_; - // Frame class this frame's size falls into (see IonFrame.h). FrameSizeClass frameClass_; // For arguments to the current function. inline int32_t ArgToStackOffset(int32_t slot) const; inline int32_t SlotToStackOffset(int32_t slot) const; inline int32_t StackOffsetToSlot(int32_t offset) const;