WebKit Bugzilla
Attachment 362008 Details for
Bug 194648
: [JSC] LLIntEntryPoint creates same DirectJITCode for all functions
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
WIP - Patch
llint-entry-code.diff (text/plain), 2.16 KB, created by
Caio Lima
on 2019-02-14 03:52:04 PST
(
hide
)
Description:
WIP - Patch
Filename:
MIME Type:
Creator:
Caio Lima
Created:
2019-02-14 03:52:04 PST
Size:
2.16 KB
patch
obsolete
>diff --git a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp >index f7ad74c5ae2..689f10a24f8 100644 >--- a/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp >+++ b/Source/JavaScriptCore/llint/LLIntEntrypoint.cpp >@@ -38,6 +38,24 @@ > > namespace JSC { namespace LLInt { > >+static Ref<JITCode> getFunctionForCallJITCode(VM& vm) >+{ >+ static DirectJITCode* jitCode = nullptr; >+ if (!jitCode) >+ jitCode = new DirectJITCode(vm.getCTIStub(functionForCallEntryThunkGenerator).retagged<JSEntryPtrTag>(), vm.getCTIStub(functionForCallArityCheckThunkGenerator).retaggedCode<JSEntryPtrTag>(), JITCode::InterpreterThunk); >+ >+ return makeRef(*jitCode); >+} >+ >+static Ref<JITCode> getFunctionForConstructJITCode(VM& vm) >+{ >+ static DirectJITCode* jitCode = nullptr; >+ if (!jitCode) >+ jitCode = new DirectJITCode(vm.getCTIStub(functionForConstructEntryThunkGenerator).retagged<JSEntryPtrTag>(), vm.getCTIStub(functionForConstructArityCheckThunkGenerator).retaggedCode<JSEntryPtrTag>(), JITCode::InterpreterThunk); >+ >+ return makeRef(*jitCode); >+} >+ > static void setFunctionEntrypoint(VM& vm, CodeBlock* codeBlock) > { > CodeSpecializationKind kind = codeBlock->specializationKind(); >@@ -45,13 +63,11 @@ static void setFunctionEntrypoint(VM& vm, CodeBlock* codeBlock) > #if ENABLE(JIT) > if (VM::canUseJIT()) { > if (kind == CodeForCall) { >- codeBlock->setJITCode( >- adoptRef(*new DirectJITCode(vm.getCTIStub(functionForCallEntryThunkGenerator).retagged<JSEntryPtrTag>(), vm.getCTIStub(functionForCallArityCheckThunkGenerator).retaggedCode<JSEntryPtrTag>(), JITCode::InterpreterThunk))); >+ codeBlock->setJITCode(getFunctionForCallJITCode(vm)); > return; > } > ASSERT(kind == CodeForConstruct); >- codeBlock->setJITCode( >- adoptRef(*new DirectJITCode(vm.getCTIStub(functionForConstructEntryThunkGenerator).retagged<JSEntryPtrTag>(), vm.getCTIStub(functionForConstructArityCheckThunkGenerator).retaggedCode<JSEntryPtrTag>(), JITCode::InterpreterThunk))); >+ codeBlock->setJITCode(getFunctionForConstructJITCode(vm)); > return; > } > #endif // ENABLE(JIT)
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
Flags:
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194648
:
362008
|
362009
|
362010
|
362036
|
362129
|
362148
|
362306
|
362313
|
362326
|
362897
|
364555
|
364689