Skip to content

Commit 6566d92

Browse files
committed
Bug 1594961 - Split FrameIter-related functionality out of vm/Stack.h to vm/FrameIter.h, Activation-related functionality to vm/Activation.h, and JitActivation functionality to vm/JitActivation.h. r=jandem CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D52315 --HG-- rename : js/src/vm/Stack-inl.h => js/src/vm/Activation-inl.h rename : js/src/vm/Stack.cpp => js/src/vm/Activation.cpp rename : js/src/vm/Stack.h => js/src/vm/Activation.h rename : js/src/vm/Stack-inl.h => js/src/vm/FrameIter-inl.h rename : js/src/vm/Stack.cpp => js/src/vm/FrameIter.cpp rename : js/src/vm/Stack.h => js/src/vm/FrameIter.h rename : js/src/vm/Stack.cpp => js/src/vm/JitActivation.cpp rename : js/src/vm/Stack.h => js/src/vm/JitActivation.h extra : amend_source : 7107d12fede5e660b30d7ecc92a07107aef3c241
1 parent 2a4ef53 commit 6566d92

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+3204
-2830
lines changed

js/src/debugger/Frame.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121
#include "debugger/Debugger.h" // for ResumeMode, Handler, Debugger
2222
#include "gc/Barrier.h" // for HeapPtr
2323
#include "gc/Rooting.h" // for HandleDebuggerFrame, HandleNativeObject
24+
#include "vm/FrameIter.h" // for FrameIter
2425
#include "vm/JSObject.h" // for JSObject
2526
#include "vm/NativeObject.h" // for NativeObject
26-
#include "vm/Stack.h" // for FrameIter, AbstractFramePtr
27+
#include "vm/Stack.h" // for AbstractFramePtr
2728

2829
namespace js {
2930

js/src/frontend/TokenStream.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
#include "js/UniquePtr.h"
3939
#include "util/StringBuffer.h"
4040
#include "util/Unicode.h"
41+
#include "vm/FrameIter.h" // js::{,NonBuiltin}FrameIter
4142
#include "vm/HelperThreads.h"
4243
#include "vm/JSAtom.h"
4344
#include "vm/JSContext.h"

js/src/jit/Bailouts.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
#ifndef jit_Bailouts_h
88
#define jit_Bailouts_h
99

10+
#include <stddef.h> // size_t
11+
#include <stdint.h> // uint8_t, uint32_t
12+
1013
#include "jstypes.h"
1114

1215
#include "jit/JitFrames.h"
1316
#include "jit/JSJitFrameIter.h"
14-
#include "vm/Stack.h"
17+
#include "wasm/WasmFrameIter.h" // js::wasm::ExitOrJitEntryFPTag
1518

1619
namespace js {
1720
namespace jit {
@@ -142,6 +145,9 @@ static_assert(!(FAKE_EXITFP_FOR_BAILOUT_ADDR & wasm::ExitOrJitEntryFPTag),
142145
class BailoutStack;
143146
class InvalidationBailoutStack;
144147

148+
class JitActivation;
149+
class JitActivationIterator;
150+
145151
// Must be implemented by each architecture.
146152

147153
// This structure is constructed before recovering the baseline frames for a

js/src/jit/JitFrames.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#ifndef jit_JitFrames_h
88
#define jit_JitFrames_h
99

10-
#include <stdint.h>
10+
#include <stdint.h> // uintptr_t
1111

1212
#include "jit/JSJitFrameIter.h"
1313
#include "vm/JSContext.h"

js/src/jit/JitScript.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "vm/BytecodeIterator.h"
1818
#include "vm/BytecodeLocation.h"
1919
#include "vm/BytecodeUtil.h"
20+
#include "vm/FrameIter.h" // js::OnlyJSJitFrameIter
2021
#include "vm/JSScript.h"
2122
#include "vm/Stack.h"
2223
#include "vm/TypeInference.h"

js/src/jit/RematerializedFrame-inl.h

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2+
* vim: set ts=8 sts=2 et sw=2 tw=80:
3+
* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this
5+
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6+
7+
#ifndef jit_RematerializedFrame_inl_h
8+
#define jit_RematerializedFrame_inl_h
9+
10+
#include "jit/RematerializedFrame.h"
11+
12+
#include "mozilla/Assertions.h" // MOZ_ASSERT
13+
14+
#include "vm/JSScript.h" // JSScript
15+
16+
#include "vm/JSScript-inl.h" // JSScript::isDebuggee
17+
18+
inline void js::jit::RematerializedFrame::unsetIsDebuggee() {
19+
MOZ_ASSERT(!script()->isDebuggee());
20+
isDebuggee_ = false;
21+
}
22+
23+
#endif // jit_RematerializedFrame_inl_h

js/src/jit/RematerializedFrame.h

+1-4
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,7 @@ class RematerializedFrame {
9595

9696
bool isDebuggee() const { return isDebuggee_; }
9797
void setIsDebuggee() { isDebuggee_ = true; }
98-
void unsetIsDebuggee() {
99-
MOZ_ASSERT(!script()->isDebuggee());
100-
isDebuggee_ = false;
101-
}
98+
inline void unsetIsDebuggee();
10299

103100
uint8_t* top() const { return top_; }
104101
JSScript* outerScript() const {

js/src/jit/arm/MacroAssembler-arm.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "jit/MacroAssembler.h"
2222
#include "jit/MoveEmitter.h"
2323
#include "util/Memory.h"
24+
#include "vm/JitActivation.h" // js::jit::JitActivation
2425

2526
#include "jit/MacroAssembler-inl.h"
2627

js/src/jit/arm/Trampoline-arm.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# include "jit/PerfSpewer.h"
1515
#endif
1616
#include "jit/VMFunctions.h"
17+
#include "vm/JitActivation.h" // js::jit::JitActivation
1718
#include "vm/Realm.h"
1819

1920
#include "jit/MacroAssembler-inl.h"

js/src/jit/arm64/MacroAssembler-arm64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "jit/BaselineFrame.h"
1313
#include "jit/MacroAssembler.h"
1414
#include "util/Memory.h"
15+
#include "vm/JitActivation.h" // js::jit::JitActivation
1516

1617
#include "jit/MacroAssembler-inl.h"
1718

js/src/jit/arm64/Trampoline-arm64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#endif
1414
#include "jit/arm64/SharedICHelpers-arm64.h"
1515
#include "jit/VMFunctions.h"
16+
#include "vm/JitActivation.h" // js::jit::JitActivation
1617

1718
#include "jit/MacroAssembler-inl.h"
1819

js/src/jit/mips32/MacroAssembler-mips32.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "jit/MoveEmitter.h"
1919
#include "jit/SharedICRegisters.h"
2020
#include "util/Memory.h"
21+
#include "vm/JitActivation.h" // js::jit::JitActivation
2122

2223
#include "jit/MacroAssembler-inl.h"
2324

js/src/jit/mips32/Trampoline-mips32.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# include "jit/PerfSpewer.h"
1818
#endif
1919
#include "jit/VMFunctions.h"
20+
#include "vm/JitActivation.h" // js::jit::JitActivation
2021
#include "vm/Realm.h"
2122

2223
#include "jit/MacroAssembler-inl.h"

js/src/jit/mips64/MacroAssembler-mips64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "jit/MoveEmitter.h"
1818
#include "jit/SharedICRegisters.h"
1919
#include "util/Memory.h"
20+
#include "vm/JitActivation.h" // js::jit::JitActivation
2021

2122
#include "jit/MacroAssembler-inl.h"
2223

js/src/jit/mips64/Trampoline-mips64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# include "jit/PerfSpewer.h"
1818
#endif
1919
#include "jit/VMFunctions.h"
20+
#include "vm/JitActivation.h" // js::jit::JitActivation
2021
#include "vm/Realm.h"
2122

2223
#include "jit/MacroAssembler-inl.h"

js/src/jit/x64/MacroAssembler-x64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "jit/MacroAssembler.h"
1414
#include "jit/MoveEmitter.h"
1515
#include "util/Memory.h"
16+
#include "vm/JitActivation.h" // js::jit::JitActivation
1617

1718
#include "jit/MacroAssembler-inl.h"
1819

js/src/jit/x64/Trampoline-x64.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#ifdef MOZ_VTUNE
1717
# include "vtune/VTuneWrapper.h"
1818
#endif
19+
#include "vm/JitActivation.h" // js::jit::JitActivation
1920

2021
#include "jit/MacroAssembler-inl.h"
2122

js/src/jit/x86/MacroAssembler-x86.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "jit/MacroAssembler.h"
1717
#include "jit/MoveEmitter.h"
1818
#include "util/Memory.h"
19+
#include "vm/JitActivation.h" // js::jit::JitActivation
1920

2021
#include "jit/MacroAssembler-inl.h"
2122
#include "vm/JSScript-inl.h"

js/src/jit/x86/Trampoline-x86.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#endif
1818
#include "jit/VMFunctions.h"
1919
#include "jit/x86/SharedICHelpers-x86.h"
20+
#include "vm/JitActivation.h" // js::jit::JitActivation
2021
#include "vm/Realm.h"
2122
#ifdef MOZ_VTUNE
2223
# include "vtune/VTuneWrapper.h"

js/src/jsexn.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "util/Memory.h"
3131
#include "util/StringBuffer.h"
3232
#include "vm/ErrorObject.h"
33+
#include "vm/FrameIter.h" // js::NonBuiltinFrameIter
3334
#include "vm/GlobalObject.h"
3435
#include "vm/JSContext.h"
3536
#include "vm/JSFunction.h"

js/src/jsfriendapi.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "util/Poison.h"
2929
#include "vm/ArgumentsObject.h"
3030
#include "vm/DateObject.h"
31+
#include "vm/FrameIter.h" // js::FrameIter
3132
#include "vm/JSContext.h"
3233
#include "vm/JSObject.h"
3334
#include "vm/Printer.h"

js/src/moz.build

+3
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ UNIFIED_SOURCES += [
284284
'util/StructuredSpewer.cpp',
285285
'util/Text.cpp',
286286
'util/Unicode.cpp',
287+
'vm/Activation.cpp',
287288
'vm/ArgumentsObject.cpp',
288289
'vm/ArrayBufferObject.cpp',
289290
'vm/ArrayBufferViewObject.cpp',
@@ -305,6 +306,7 @@ UNIFIED_SOURCES += [
305306
'vm/ErrorObject.cpp',
306307
'vm/ErrorReporting.cpp',
307308
'vm/ForOfIterator.cpp',
309+
'vm/FrameIter.cpp',
308310
'vm/GeckoProfiler.cpp',
309311
'vm/GeneratorObject.cpp',
310312
'vm/GlobalObject.cpp',
@@ -313,6 +315,7 @@ UNIFIED_SOURCES += [
313315
'vm/Initialization.cpp',
314316
'vm/Instrumentation.cpp',
315317
'vm/Iteration.cpp',
318+
'vm/JitActivation.cpp',
316319
'vm/JSAtom.cpp',
317320
'vm/JSContext.cpp',
318321
'vm/JSFunction.cpp',

0 commit comments

Comments
 (0)