Skip to content
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

Move ocaml/ into / (a/k/a pivot_root) #3166

Merged
merged 10,000 commits into from
Oct 22, 2024
Merged

Conversation

lukemaurer
Copy link
Contributor

Pushing this as an experiment. This may not be something that can meaningfully be put through the PR process but it should give us an idea of what rebasing PRs onto this will look like.

TheNumbat and others added 30 commits August 10, 2024 17:00
)

* Resolve conflict in unixsupport_unix.c

* Resolve conflict in fork.c and signals.c

* Remove redundant comment
…#2902)

* Progress fixing typecore

* saving work

* Finish fixing typecore

* Fix issue with typemod picked up in rebase

* Fix to buggy merge conflict resolution that caused us to hit 'assert false' in update_type
* Fix conflicts in w53 test

* backport upstream #13170

* Add compilers reference file
…da#2905)

* refactor string-like access primitives

to make it easier to add primitives for unboxed access without
duplicating as much code

Signed-off-by: David Vulakh <[email protected]>

* hoist out [indexing_primitives]

don't close over [mode] when constructing the [indexing_primitives]
map, and hoist the computation out of [lookup_primitive]

(previously we were recomputing the cartesian product each time we
entered [lookup_primitive])

Signed-off-by: David Vulakh <[email protected]>

* make fmt

Signed-off-by: David Vulakh <[email protected]>

* label [index] and [bound] in [check_bound]

Signed-off-by: David Vulakh <[email protected]>

* move annotation in [actual_max_length_for_string]

Signed-off-by: David Vulakh <[email protected]>

* move annotation in [string_like_load]

Signed-off-by: David Vulakh <[email protected]>

* replace cartesian product helper with let operator

Signed-off-by: David Vulakh <[email protected]>

* review changes

- change type of [bound_kind] in [bound]
- move some type constraints to arguments
- return old comment about bounds checks
- move [is_substring] to [misc]

Signed-off-by: David Vulakh <[email protected]>

---------

Signed-off-by: David Vulakh <[email protected]>
* Initial state where runtime builds

* Review

(cherry picked from commit e41be34)

* Review of conflicts

* Remove XXX in memprof files

(cherry picked from commit 58e7b16)

* ptrdiff_t

(cherry picked from commit e4b4388)

* domain.c:778 to stay deleted

(cherry picked from commit f05df07)

* Fix memprof bit in domain.c:domain_create

(cherry picked from commit 34925f4)

* Revert to upstream compaction behaviour in gc_ctrl.c

(cherry picked from commit 7740dc4)

* Fix for gettimeofday

(cherry picked from commit d2f2330)

* Typo fix

(cherry picked from commit 2db34fd)

* Remove XXX in caml_enter_blocking_section

* Remove message in caml_enter_blocking_section for async exn raise

* Remove XXX in caml_ba_alloc

* adopt_orphaned_work

* caml_alloc_custom_mem

* Try to fix DEBUG code in platform.c

* Resurrect CHECK_STACK_ALIGNMENT macro

* Dune build fixes for the runtime - may need a bit more tidying

* git rm s390x.S win32.c power.S riscv.S
* Modify cms format

* Convert cms_uid_to_loc to be an array

* Add crs

* Add comment to need_to_clear_env

* Remove debugging type annotation

* Convert directly to array

* Remove loadpath from cms

* Guard initial_env behind -bin-annot-occurrences

* Revert "Convert directly to array"

This reverts commit fc1857f.

* Directly use array

* Revert "Directly use array"

This reverts commit 4ccb2ae.

* Revert "Convert cms_uid_to_loc to be an array"

This reverts commit 808b35b.
* Promote tests that remove redundant kind from error message history

* Rename Primitive to Builtin

* Remove Const.Sort and Const.Layout aliases

* Remove pointless const definition

* Remove stale crs about eg layout_float64

* Remove legacy layout usage in printing

* Remove legacy layout usage in extension universe check

* Rename has_imported_history to is_imported

* Remove Legacy module

* Remove unused builtins

* Move const_of_user_written_annotation into Const module

* Update comment

* Remove redundant layout definition

* Remove unnecessary layout aliases

* Document jkind printing

* Rename ModeParser to Mode_parser

* Fix cr formatting

* Remove stale cr

* Remove incorrect CRs

* Replace any with abstract layout in error message

* Assert layout is value in value_kind_of_value_jkind

* Don't print : value

* Add CRs to remove annotation

* Improve debug printing

* Share parsing logic between modes and jkinds

* Simplify parsing

* Add tests

* Create test for not calling caml_modify

* Reformat files

* Add comments to caml_modify test

* Rename external_record to internal_record

* Hide external_variant's immediacy

* Add inlining test for caml_modify

* Add copyright header

* Clean up typemodifier

* Fix prining typo

* Add CR to Builtin

* Stop calling crossing of nullability mode-crossing

* Improve warning 211 message

* Restore PRs about incorrect error messages

* Cleanup typemodifier more

* Fix bug in required maturity level for modes

* Fix floatarray kind and promote tests
* Revert "Move float32 back to beta (ocaml-flambda#2843)"

This reverts commit 4846e6c.

* fix test

* upstream_compatible test

* upstream_compatible simd test
…l-flambda#2906)

* unboxed access primitives for string-likes

index by:     int32#,int64#,nativeint#
access width: int16,int32,float32,int64,int128,int32#,float32#,int64#

for bigstring, string, bytes

Signed-off-by: David Vulakh <[email protected]>

* make fmt

Signed-off-by: David Vulakh <[email protected]>

* remove [CAMLprim] from macro names

Signed-off-by: David Vulakh <[email protected]>

* tweak formatting in [lambda.ml{,i}]

Signed-off-by: David Vulakh <[email protected]>

* improve generated tests

Signed-off-by: David Vulakh <[email protected]>

* better data in generated tests

Signed-off-by: David Vulakh <[email protected]>

* add more tests of edge-case indices

Signed-off-by: David Vulakh <[email protected]>

* reflect float32 -> stable in tests

fixes ci

Signed-off-by: David Vulakh <[email protected]>

---------

Signed-off-by: David Vulakh <[email protected]>
* Resolve conflicts in ocamltest

* Restore the "do_something" mechanism.

* Further fixes for ocamltest

---------

Co-authored-by: Xavier Clerc <[email protected]>
* Fixes to domain.c bad merges

(cherry picked from commit ace16c4)

* Remove caml_reset_young_limit line
… actions): upstream bc0bda9 + flambda2 changes

(cherry picked from commit b4c1820)
…n operating on trap handlers.): upstream 8a3dc3d

(cherry picked from commit 429f698)
…all on ARM64): upstream c39c3f9

(cherry picked from commit 067043f)
riaqn and others added 9 commits October 16, 2024 09:58
* Remove jane syntax for layouts

* Reshuffle jkind annotations

* Fix location mapping/iterating omission

* Fix chamelon

* remove dead code from `Jane_syntax_parsing`

* Update ocaml/parsing/ast_helper.mli

Co-authored-by: Chris Casinghino <[email protected]>

* Feedback from review

* more feedback for review

---------

Co-authored-by: Chris Casinghino <[email protected]>
* Markdelay support for multi-domain programs

  - Domains now begin marking simultaneously at some minor GC during the major cycle

  - Before marking, the write barrier is disabled and fresh allocations are UNMARKED

  - Change to ephemeron logic: per-cycle ephemeron data structure reset is now done
    at marking start rather than at the start of the cycle. (In particular, this makes
    orphaned work simpler to deal with)

* Re-enable parallel tests

Includes several systhreads tests that rely on the interaction between
systhreads, domains and backup threads.

* Add a new test (tests/parallel/churn.ml) stressing cross-domain promotion
…a#3146)

* Squelch quotes with -error-style short

* Something mangles comments and can't deal with quote marks
Lift continuations (with cli option)

By default, no continuation is lifted, can be configured with a command
line flag. When the continuatin lifting budget is non-zero, we need to
use the advanced meet, because there are known issue that occurs when
using the regular meet together with continuation lifting.

About the fixed test:
Adding a Sys.opaque_identity makes the lifetime of the result
of `quick_stat` does not depend on whether flambda2 lifts some
continuation or not (in turn, this difference of lifetime induces
a difference in the tests results, since it counts the number of
allocations in the major heap).
Add a function to append [Clflags.directory] to filename and use it
* Don't include zero_alloc info in string_of_scope by default

It was a mistake to include it, it's only needed for debug printing.

* Make this argument not optional so we can see where it's used.

* Update call sites

* Format
Copy link

github-actions bot commented Oct 21, 2024

Parser Change Checklist

This PR modifies the parser. Please check that the following tests are updated:

  • parsetree/source_jane_street.ml

This test should have examples of every new bit of syntax you are adding. Feel free to just check the box if your PR does not actually change the syntax (because it is refactoring the parser, say).

Copy link
Collaborator

@mshinwell mshinwell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be merged manually

@mshinwell mshinwell merged commit 3595623 into ocaml-flambda:main Oct 22, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.