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

Unified Diff: src/compiler/linkage.h

Issue 1641153003: [wasm] Initialize the root register for WASM tests. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@stackslot_cl
Patch Set: Removed the stray blank. Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/code-generator.cc ('k') | src/ia32/macro-assembler-ia32.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/linkage.h
diff --git a/src/compiler/linkage.h b/src/compiler/linkage.h
index 33da7a4c2b6b4dfcbffb2f34eeb7ce83ec594e64..564f779e9b5b9f601233e36ec71d7a1f799afb9d 100644
--- a/src/compiler/linkage.h
+++ b/src/compiler/linkage.h
@@ -157,6 +157,8 @@ class CallDescriptor final : public ZoneObject {
kUseNativeStack = 1u << 7,
// (arm64 only) call instruction has to restore JSSP.
kRestoreJSSP = 1u << 8,
+ // Causes the code generator to initialize the root register.
+ kInitializeRootRegister = 1u << 9,
kPatchableCallSiteWithNop = kPatchableCallSite | kNeedsNopAfterCall
};
typedef base::Flags<Flag> Flags;
@@ -223,6 +225,9 @@ class CallDescriptor final : public ZoneObject {
bool NeedsFrameState() const { return flags() & kNeedsFrameState; }
bool SupportsTailCalls() const { return flags() & kSupportsTailCalls; }
bool UseNativeStack() const { return flags() & kUseNativeStack; }
+ bool InitializeRootRegister() const {
+ return flags() & kInitializeRootRegister;
+ }
LinkageLocation GetReturnLocation(size_t index) const {
return location_sig_->GetReturn(index);
@@ -327,8 +332,9 @@ class Linkage : public ZoneObject {
// for the host platform. This simplified calling convention only supports
// integers and pointers of one word size each, i.e. no floating point,
// structs, pointers to members, etc.
- static CallDescriptor* GetSimplifiedCDescriptor(Zone* zone,
- const MachineSignature* sig);
+ static CallDescriptor* GetSimplifiedCDescriptor(
+ Zone* zone, const MachineSignature* sig,
+ bool set_initialize_root_flag = false);
// Creates a call descriptor for interpreter handler code stubs. These are not
// intended to be called directly but are instead dispatched to by the
« no previous file with comments | « src/compiler/code-generator.cc ('k') | src/ia32/macro-assembler-ia32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698