v8/test/cctest/heap
Mythri 592aeefa8d Defer inferring language mode as far as possible
Inferring the language mode involves iterating the stack to find the
closure. This is an expensive operation and should be done only when
required. This cl changes the implementation to infer the language
mode only when we can't defer it any further. Currently, we infer the
language mode when throwing an exception or when passing this
information to PropertyCallbackArguments.

This cl also changes the language mode parameter to SetProperty
related methods to Maybe<ShouldThrow>. We only use the language mode to
decide if we need to throw and using ShouldThrow instead of language
mode simplifies the code by avoiding conversions from Maybe<ShouldThrow>
to Maybe<LanguageMode> and vice-versa.

Bug: v8:8580, chromium:923820, chromium:925289
Change-Id: I72497497f62fe0d86fcecd57b06b3183b7531f7b
Reviewed-on: https://chromium-review.googlesource.com/c/1425912
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59094}
2019-01-25 11:53:19 +00:00
..
heap-tester.h [heap] Activate the memory reducer on smaller heaps 2019-01-22 11:14:32 +00:00
heap-utils.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
heap-utils.h [heap] Exclude the owner of the linear allocation area from evacuation. 2016-11-03 12:13:23 +00:00
test-alloc.cc [ubsan] Port HeapObject to the new design 2018-12-20 16:43:49 +00:00
test-array-buffer-tracker.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-compaction.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-concurrent-marking.cc Reland "[heap] Remove bailout marking worklist." 2019-01-18 10:04:17 +00:00
test-embedder-tracing.cc [api] Remove deprecated EmbedderHeapTracer::AbortTracing 2019-01-25 09:08:41 +00:00
test-external-string-tracker.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-heap.cc Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
test-incremental-marking.cc [cleanup] Use the new taskrunner API in the gc 2018-10-04 11:18:32 +00:00
test-invalidated-slots.cc Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" 2019-01-24 16:57:23 +00:00
test-lab.cc [ubsan] Port HeapObject to the new design 2018-12-20 16:43:49 +00:00
test-mark-compact.cc Reland "Change SetProperty/SetSuperProperty to infer language mode when possible" 2019-01-24 16:57:23 +00:00
test-page-promotion.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-spaces.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-unmapper.cc [cleanup] Mark heap/ methods in subclasses with override. 2018-09-17 15:32:31 +00:00
test-weak-references.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00