Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 491e7dba5234d228eebfcb6b2286bbeaf6620b4a
      
https://github.com/WebKit/WebKit/commit/491e7dba5234d228eebfcb6b2286bbeaf6620b4a
  Author: Mark Lam <mark....@apple.com>
  Date:   2024-05-25 (Sat, 25 May 2024)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/interpreter/CallFrame.h
    M Source/JavaScriptCore/llint/LLIntData.cpp
    M Source/JavaScriptCore/llint/LLIntData.h
    A Source/JavaScriptCore/runtime/AssertInvariants.cpp
    A Source/JavaScriptCore/runtime/AssertInvariants.h
    M Source/JavaScriptCore/runtime/InitializeThreading.cpp
    M Source/JavaScriptCore/runtime/VM.cpp

  Log Message:
  -----------
  Refactor LLInt::Data::performAssertions() into assertInvariants().
https://bugs.webkit.org/show_bug.cgi?id=274723
rdar://128746336

Reviewed by Yusuke Suzuki.

The intent of LLInt::Data::performAssertions() was to assert some invariants 
that cannot be
expressed as static_asserts, or did not have a convenient place to express the 
static_asserts
because they are about constants used in the LLInt asm files.  These asserts 
need only be
executed once.  At the time, I added a call to performAssertions() from the VM 
constructor.
The better place to call it would be from JSC::initialize(), which is only 
executed once per
process.

Additionally, over time, we started using this function to assert other 
invariants.  Hence,
we should rename it and put it in a place not associated with the LLInt 
specifically.

Lastly, replace all uses of the antiquated STATIC_ASSERT macro with 
static_assert.

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/interpreter/CallFrame.h:
(JSC::CallFrame::argumentOffset):
(JSC::CallFrame::argumentOffsetIncludingThis):
* Source/JavaScriptCore/llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions): Deleted.
* Source/JavaScriptCore/llint/LLIntData.h:
* Source/JavaScriptCore/runtime/AssertInvariants.cpp: Added.
(JSC::assertInvariants):
* Source/JavaScriptCore/runtime/AssertInvariants.h: Added.
* Source/JavaScriptCore/runtime/InitializeThreading.cpp:
(JSC::initialize):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM):

Canonical link: https://commits.webkit.org/279327@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to