-
Notifications
You must be signed in to change notification settings - Fork 336
Mschwarzl/workerd #521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Mschwarzl/workerd #521
Conversation
mschwarzl
commented
Aug 27, 2025
- Created a REPRL solution for workerd (Reprl for Fuzzilli fuzzing cloudflare/workerd#4917)
- Created a Fuzzilli target and top-level context await support (as this is needed for workerd)
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh nice, thanks! Some comments about splitting the PR but otherwise this looks good
@@ -1,17 +1,3 @@ | |||
// Copyright 2020 Google LLC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please revert the changes to this file or create a separate PR :)
@@ -239,9 +239,21 @@ public struct Code: Collection { | |||
throw FuzzilliError.codeVerificationError("variable \(input) is not visible anymore") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please create a separate PR for the changes to the compiler and parser. Thanks!
@@ -13,3 +13,6 @@ Cloud/GCE/config.sh | |||
# node.js dependencies, used by the JavaScript parser for the FuzzIL compiler | |||
node_modules | |||
package-lock.json | |||
|
|||
# results dir and workerd corpus | |||
workerd* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you really need an in-place directory for temporary files, it should have a fixed name and should only be ignored on the top level, e.g.
workerd* | |
/workerd |
This will otherwise match any subdirectory that starts with workerd
.
throw CompilerError.invalidNodeError("`await` is currently only supported in async functions") | ||
} | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to @saelo's suggestion about splitting this into multiple changes. Also please don't comment out code. If this should be removed (why would we want to remove it in this case?), then it should be removed, not commented out. (same in Code.swift)
@@ -0,0 +1,59 @@ | |||
// Copyright 2020 Google LLC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably be 2025?
|
||
let workerdProfile = Profile( | ||
processArgs: { randomize in | ||
["fuzzilli","/home/mschwarzl/projects/workerd/samples/reprl/config-full.capnp","--experimental"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There shouldn't be user-specific code paths in here.
} else { | ||
print("REPRL context initialized successfully.") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit:
} else { | |
print("REPRL context initialized successfully.") | |
} | |
} | |
print("REPRL context initialized successfully.") |