WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
work in progress
blah.patch (text/plain), 3.42 KB, created by
Filip Pizlo
on 2016-01-07 16:43:22 PST
(
hide
)
Description:
work in progress
Filename:
MIME Type:
Creator:
Filip Pizlo
Created:
2016-01-07 16:43:22 PST
Size:
3.42 KB
patch
obsolete
>Index: Source/JavaScriptCore/dfg/DFGCommon.h >=================================================================== >--- Source/JavaScriptCore/dfg/DFGCommon.h (revision 194743) >+++ Source/JavaScriptCore/dfg/DFGCommon.h (working copy) >@@ -38,7 +38,7 @@ namespace JSC { namespace DFG { > // We are in the middle of an experimental transition from LLVM to B3 as the backend for the FTL. We don't > // yet know how it will turn out. For now, this flag will control whether FTL uses B3. Remember to set this > // to 0 before committing! >-#define FTL_USES_B3 0 >+#define FTL_USES_B3 1 > > struct Node; > >Index: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp >=================================================================== >--- Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (revision 194743) >+++ Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (working copy) >@@ -8837,11 +8837,12 @@ private: > #if FTL_USES_B3 > CodeOrigin origin = m_node->origin.semantic; > >- B3::PatchpointValue* result = m_out.patchpoint(B3::Int64); >+ PatchpointValue* result = m_out.patchpoint(B3::Int64); > for (LValue arg : userArguments) > result->append(ConstrainedValue(arg, B3::ValueRep::SomeRegister)); > >- // FIXME: As part of handling exceptions, we need to append OSR exit state here. >+ RefPtr<PatchpointExceptionHandle> exceptionHandle = >+ preparePatchpointForExceptions(result); > > result->clobber(RegisterSet::macroScratchRegisters()); > State* state = &m_ftlState; >@@ -8859,6 +8860,9 @@ private: > > RegisterSet usedRegisters = params.unavailableRegisters(); > >+ RefPtr<ExceptionTarget> exceptionTarget = >+ exceptionHandle->scheduleExitCreation(params); >+ > // FIXME: As part of handling exceptions, we need to create a concrete OSRExit here. > // Doing so should automagically register late paths that emit exit thunks. > >@@ -8890,18 +8894,14 @@ private: > linkBuffer.locationOf(patchableJump)); > CodeLocationLabel linkedDone = linkBuffer.locationOf(done); > >- // FIXME: Need a story for exceptions in FTL-B3. That basically means >- // doing a lookup of the exception entrypoint here. We will have an >- // OSR exit data structure of some sort. >- // https://bugs.webkit.org/show_bug.cgi?id=151686 >- CodeLocationLabel exceptionTarget; > CallSiteIndex callSiteIndex = > jitCode->common.addUniqueCallSiteIndex(origin); > > std::unique_ptr<LazySlowPath> lazySlowPath = > std::make_unique<LazySlowPath>( >- linkedPatchableJump, linkedDone, exceptionTarget, >- usedRegisters, callSiteIndex, generator); >+ linkedPatchableJump, linkedDone, >+ exceptionTarget->label(linkBuffer), usedRegisters, >+ callSiteIndex, generator); > > jitCode->lazySlowPaths[index] = WTFMove(lazySlowPath); > });
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 152853
:
268506
|
268514