- 12 Apr, 2017 11 commits
-
-
Marja Hölttä authored
Unfortunately, this test cannot test that a function was really skipped (i.e., not parsed). BUG=v8:5516 Change-Id: I8db5027d2216a95cc012ceae8e17554095cc1d4f Reviewed-on: https://chromium-review.googlesource.com/457037Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44615}
-
hablich authored
Revert of [wasm] instantiate expressed in terms of compile (patchset #6 id:140001 of https://codereview.chromium.org/2806073002/ ) Reason for revert: Roll blocker: https://bugs.chromium.org/p/chromium/issues/detail?id=710824 Original issue's description: > [wasm] instantiate expressed in terms of compile > > Today, the semantics of: > > WebAssembly.instantiate > > and > > WebAssembly.compile().then(new WebAssemblyInstance) > > are subtly different, to the point where attempting the proposed > change uncovered bugs. > > In the future, it's possible that .instantiate actually have different > semantics - if we pre-specialized to the provided ffi, for example. > Right now that's not the case. > > This CL: > - gets our implementation closer to what developers may write using > the compile -> new Instance alternative, in particular wrt promise > creation. By reusing code paths, we uncover more bugs, and keep > maintenance cost lower. > > - it gives us the response-based WebAssembly.instantiate implicitly. > Otherwise, we'd need that same implementation on the blink side. The > negative is maintenance: imagine if the bugs I mentioned could only be > found when running in Blink. > > BUG=chromium:697028 > > Review-Url: https://codereview.chromium.org/2806073002 > Cr-Commit-Position: refs/heads/master@{#44592} > Committed: https://chromium.googlesource.com/v8/v8/+/7829af3275ff4644a2d0a1270abe1a1e4415e9fb TBR=bradnelson@chromium.org,ahaas@chromium.org,adamk@chromium.org,mtrofin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:697028 Review-Url: https://codereview.chromium.org/2810203002 Cr-Commit-Position: refs/heads/master@{#44614}
-
Camillo Bruni authored
BUG: v8:6251 Change-Id: I8a6dd528656a69c7910770acaf2133830b60c291 Reviewed-on: https://chromium-review.googlesource.com/475651 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#44609}
-
yangguo authored
We used to reserve the 0-th embedder data field for the debug context id. This is no longer necessary since the inspector has migrated to be part of V8. This makes the API a bit simpler. R=clemensh@chromium.org, jochen@chromium.org, kozyatinskiy@chromium.org BUG=v8:5530 Review-Url: https://codereview.chromium.org/2806303002 Cr-Commit-Position: refs/heads/master@{#44607}
-
bmeurer authored
The hole NaN should also have proper Type::Hole, and not silently hide in the Type::Number. This way we can remove all the special casing for the hole NaN, and we also finally get the CheckNumber right. This also allows us to remove some ducktape from the Deoptimizer, as for escape analyzed FixedDoubleArrays we always pass the hole value now to represent the actual holes. Also-By: jarin@chromium.org BUG=chromium:684208,chromium:709753,v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2814013003 Cr-Commit-Position: refs/heads/master@{#44603}
-
Clemens Hammacher authored
The local variables were parsed two times, which in fact doubled the amount of local variables allocated for each called function. This was costing memory and performance. As the additional local variables were never used, we did not recognize this before. Add a test case for locals and stack values of interpreted frames. R=ahaas@chromium.org BUG=v8:5822 Change-Id: Ie5cb8d8f5441edee6abb46aa6bebef4a033d582b Reviewed-on: https://chromium-review.googlesource.com/474749 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44602}
-
jgruber authored
RationalizeConsecutiveAtoms optimizes ab|ac|az to a(?:b|c|d). Ensure that this optimization does not split surrogate pairs in unicode mode. BUG=chromium:641091 Review-Url: https://codereview.chromium.org/2813893002 Cr-Commit-Position: refs/heads/master@{#44599}
-
bmeurer authored
As of crrev.com/2760213003, the CheckBounds operator passes a truncation that identfies zero and minus zero. However that was not reflected in the typing rule, and as such the type of CheckBounds(-0,length) was always Type::None. That confused the typed alias analysis in the LoadElimination and led to ignoring StoreElement nodes. BUG=chromium:708050 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2812013006 Cr-Commit-Position: refs/heads/master@{#44598}
-
dusan.simicic authored
Add support for F32x4Abs, F32x4Neg, F32x4RecipApprox, F32x4RecipRefine, F32x4RecipSqrtApprox, F32x4RecipSqrtRefine, F32x4Add, F32x4Sub, F32x4Mul, F32x4Max, F32x4Min, F32x4Eq, F32x4Ne, F32x4Lt, F32x4Le, I32x4SConvertF32x4, I32x4UConvertF32x4 operations for mips32 and mips64 architectures. BUG= Review-Url: https://codereview.chromium.org/2778203002 Cr-Commit-Position: refs/heads/master@{#44597}
-
Sathya Gunasekaran authored
This change mirrors the semantics for derived class constructors. This change doesn't affect non class constructors. This change could potentially break web compat. More details: https://github.com/tc39/ecma262/pull/469 Bug=v8:5536 Change-Id: I519599949523733332d0b35e4f8d9ecb01cac495 Reviewed-on: https://chromium-review.googlesource.com/461225Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#44594}
-
mtrofin authored
Today, the semantics of: WebAssembly.instantiate and WebAssembly.compile().then(new WebAssemblyInstance) are subtly different, to the point where attempting the proposed change uncovered bugs. In the future, it's possible that .instantiate actually have different semantics - if we pre-specialized to the provided ffi, for example. Right now that's not the case. This CL: - gets our implementation closer to what developers may write using the compile -> new Instance alternative, in particular wrt promise creation. By reusing code paths, we uncover more bugs, and keep maintenance cost lower. - it gives us the response-based WebAssembly.instantiate implicitly. Otherwise, we'd need that same implementation on the blink side. The negative is maintenance: imagine if the bugs I mentioned could only be found when running in Blink. BUG=chromium:697028 Review-Url: https://codereview.chromium.org/2806073002 Cr-Commit-Position: refs/heads/master@{#44592}
-
- 11 Apr, 2017 29 commits
-
-
mtrofin authored
This also fixes an existing discrepancy. BUG=v8:6017 Review-Url: https://codereview.chromium.org/2808403002 Cr-Commit-Position: refs/heads/master@{#44590}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:6127 Change-Id: I7f418b4e1accc8d560886cd5c05bdc54d3088249 Reviewed-on: https://chromium-review.googlesource.com/474864 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44586}
-
Caitlin Potter authored
Per https://github.com/tc39/test262/pull/956, André believes that ASI should be permitted in these situations. BUG= R=marja@chromium.org, adamk@chromium.org, littledan@chromium.org Change-Id: I5602d8a507576607750ffa9e873e1bfa53dd3523 Reviewed-on: https://chromium-review.googlesource.com/472568Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#44585}
-
Clemens Hammacher authored
The test "assertThrows(builder.instantiate)" threw a TypeError before, which made the test pass, but not because of the feature we wanted to test. This CL fixes the test to call builder.instantiate correctly, and also tests for the correct error message. Drive-by fix: Fix {expected} and {found} parameters in assertThrows. R=ahaas@chromium.org Change-Id: I11c0f63885cc14a36559e637aea60a9da6f1bb8f Reviewed-on: https://chromium-review.googlesource.com/472886Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44584}
-
Leszek Swirski authored
Adds a collection of call bytecodes which have an implicit undefined receiver argument, for cases such as global calls where we know that the receiver has to be undefined. This way we can skip an LdaUndefined, decrease bytecode register pressure, and set a more accurate ConvertReceiverMode on the interpreter and TurboFan call. As a side effect, the "normal" Call bytecode now becomes a rare case (only with calls and super property calls), so we get rid of its 0-2 argument special cases and modify CallProperty[N] to use the NotNullOrUndefined ConvertReceiverMode. Reland of https://chromium-review.googlesource.com/c/463287 after fixing tests in https://codereview.chromium.org/2813873002. Change-Id: I314d69c7643ceec6a5750ffdab60dad38dad09e5 Reviewed-on: https://chromium-review.googlesource.com/474752Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#44582}
-
kozyatinskiy authored
After [1] we return JSArray with internal structs, we should return JSObjects instead. [1] https://codereview.chromium.org/2789073002 BUG=v8:6189 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2806373005 Cr-Commit-Position: refs/heads/master@{#44581}
-
yangguo authored
See https://tc39.github.io/proposal-regexp-unicode-property-escapes R=jgruber@chromium.org BUG=v8:4743 Review-Url: https://codereview.chromium.org/2807293003 Cr-Commit-Position: refs/heads/master@{#44577}
-
Peter Marshall authored
This constructs different typed arrays from different types of other typed arrays, hopefully countering microbenchmarks which are able to optimize for exactly one pair of types. Bug: v8:5977 Change-Id: Ie3b07d6ecaaca6db0be410e902e437a2a643d71c Reviewed-on: https://chromium-review.googlesource.com/474748Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#44576}
-
littledan authored
Reland of [date] Add ICU backend for timezone info behind a flag (patchset #1 id:1 of https://codereview.chromium.org/2811103002/ ) Reason for revert: Reland with tests marked as off in no-i18n mode Original issue's description: > Revert of [date] Add ICU backend for timezone info behind a flag (patchset #17 id:320001 of https://codereview.chromium.org/2724373002/ ) > > Reason for revert: > Breaks noi18n: > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/13314 > > Original issue's description: > > [date] Add ICU backend for timezone info behind a flag > > > > This patch implements a timezone backend which is based on ICU, rather > > than operating system calls. It can be turned on by passing the > > --icu-timezone-data flag. The goal here is to take advantage of ICU's > > data, which is more complete than the data that some system calls expose. > > For example, without any special code, this patch fixes the time zone > > of Lord Howe Island to have a correct 30 minute DST offset, rather than > > 60 minutes as the OS backends assume it to have. > > > > Unfortunately, the parenthized timezone name in Date.prototype.toString() > > differs across platforms. This patch chooses the long timezone name, > > which matches Windows behavior and might be the most intelligible, but > > the web compatibility impact is unclear. > > > > BUG=v8:6031,v8:2137,v8:6076 > > > > Review-Url: https://codereview.chromium.org/2724373002 > > Cr-Commit-Position: refs/heads/master@{#44562} > > Committed: https://chromium.googlesource.com/v8/v8/+/b213f2399038a615cdfbfa0201cddc113d304018 > > TBR=ulan@chromium.org,jshin@chromium.org,jgruber@chromium.org,littledan@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:6031,v8:2137,v8:6076 > > Review-Url: https://codereview.chromium.org/2811103002 > Cr-Commit-Position: refs/heads/master@{#44565} > Committed: https://chromium.googlesource.com/v8/v8/+/13ad50811024ace5623d5d4d13cea4ef21f4affd TBR=ulan@chromium.org,jshin@chromium.org,jgruber@chromium.org,machenbach@chromium.org BUG=v8:6031,v8:2137,v8:6076 Review-Url: https://codereview.chromium.org/2813863002 Cr-Commit-Position: refs/heads/master@{#44575}
-
Michael Achenbach authored
This is a noop right now as we run test262 without variants on asan. We'll use the status file to whitelist the variants in a synchronous way in v8 after the infra change lands to activate them. Bug: chromium:710428 NOTRY=true Change-Id: I146bbc648775ef0e250c16695b956ecd1d6e105e Reviewed-on: https://chromium-review.googlesource.com/474845 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#44574}
-
Wiktor Garbacz authored
This a step towards using CompilerDispatcher in parallel parsing. BUG=v8:6093 Change-Id: Idee84105e342950badb5694fa2a850e05430abaa Reviewed-on: https://chromium-review.googlesource.com/473246 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by:
Jochen Eisinger <jochen@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44573}
-
Caitlin Potter authored
A really slight change in behaviour introduced by https://github.com/tc39/proposal-async-iteration/commit/395b2e3b2f5acb62f9fae11c5e189423d4af50e6 Just swaps the order that properties are loaded from an iterator result object in the various Async-from-Sync Iterator methods. Fixes for the test262 tests have been submitted already (https://github.com/tc39/test262/pull/961). BUG=v8:5855, v8:6242 R=littledan@chromium.org, jwolfe@igalia.com, Change-Id: I1ff0e1b7758c126d02aec27d67ceeb15b91c06cf Reviewed-on: https://chromium-review.googlesource.com/474087Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#44572}
-
littledan authored
The goal of this patch was to refactor NumberFormat parameter handling to be usable by a PluralRules implementation. Along the way, I found and fixed a couple minor issues where options handling differed from the specification, and removed some dead code. Regression tests are added as test262 tests. With this change, the overall flow more closely resembles the specification plus this editorial change which is out for review: https://github.com/tc39/ecma402/pull/130/files BUG=v8:6015,v8:6016 R=yangguo,jungshik Review-Url: https://codereview.chromium.org/2717613005 Cr-Commit-Position: refs/heads/master@{#44571}
-
Wiktor Garbacz authored
This a step towards using CompilerDispatcher in parallel parsing. BUG=v8:6093 Change-Id: I7c0dc0a5f5b25652a8aa98c94b1e069c1f081a5b Reviewed-on: https://chromium-review.googlesource.com/473106Reviewed-by:
Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#44570}
-
mathias authored
The spec proposal has been updated to drop contributory binary properties such as `Other_ID_Start` and `Other_ID_Continue`. This patch reverts commit 26e5d012 and adds tests to ensure these properties are not supported. R= BUG=v8:4743 Review-Url: https://codereview.chromium.org/2809143003 Cr-Commit-Position: refs/heads/master@{#44569}
-
Ross McIlroy authored
Move dead bytecode elimination from a seperate bytecode pipeline optimizer into the BytecodeArrayWriter. This removes the last bytecode pipeline optimizer, which means we can remove the Bytecode pipeline which, which should increase compile speed. BUG=v8:6194 Change-Id: I47fb3c3463b2b8a92e02cf7a6b608683fcfa5261 Reviewed-on: https://chromium-review.googlesource.com/471407 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#44568}
-
machenbach authored
Revert of [date] Add ICU backend for timezone info behind a flag (patchset #17 id:320001 of https://codereview.chromium.org/2724373002/ ) Reason for revert: Breaks noi18n: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/13314 Original issue's description: > [date] Add ICU backend for timezone info behind a flag > > This patch implements a timezone backend which is based on ICU, rather > than operating system calls. It can be turned on by passing the > --icu-timezone-data flag. The goal here is to take advantage of ICU's > data, which is more complete than the data that some system calls expose. > For example, without any special code, this patch fixes the time zone > of Lord Howe Island to have a correct 30 minute DST offset, rather than > 60 minutes as the OS backends assume it to have. > > Unfortunately, the parenthized timezone name in Date.prototype.toString() > differs across platforms. This patch chooses the long timezone name, > which matches Windows behavior and might be the most intelligible, but > the web compatibility impact is unclear. > > BUG=v8:6031,v8:2137,v8:6076 > > Review-Url: https://codereview.chromium.org/2724373002 > Cr-Commit-Position: refs/heads/master@{#44562} > Committed: https://chromium.googlesource.com/v8/v8/+/b213f2399038a615cdfbfa0201cddc113d304018 TBR=ulan@chromium.org,jshin@chromium.org,jgruber@chromium.org,littledan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:6031,v8:2137,v8:6076 Review-Url: https://codereview.chromium.org/2811103002 Cr-Commit-Position: refs/heads/master@{#44565}
-
Ross McIlroy authored
All the optimizations have now been moved to either the BytecodeGenerator or the BytecodeArrayWriter/Builder. BUG=v8:6194 Change-Id: Ie5c5d55e824c94ffb503af376c72bc64ad1f6f81 Reviewed-on: https://chromium-review.googlesource.com/469349 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44564}
-
Michael Starzinger authored
This fixes {JSCreateLowering} to traverse boilerplate objects in the same order the runtime uses (i.e. properties first, elements second). That order is hard-coded in the nesting of {AllocationSite} objects. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-709537 BUG=chromium:709537 Change-Id: I8f446a0880448ea88a3e242e92d11d611581a42b Reviewed-on: https://chromium-review.googlesource.com/474028Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44563}
-
littledan authored
This patch implements a timezone backend which is based on ICU, rather than operating system calls. It can be turned on by passing the --icu-timezone-data flag. The goal here is to take advantage of ICU's data, which is more complete than the data that some system calls expose. For example, without any special code, this patch fixes the time zone of Lord Howe Island to have a correct 30 minute DST offset, rather than 60 minutes as the OS backends assume it to have. Unfortunately, the parenthized timezone name in Date.prototype.toString() differs across platforms. This patch chooses the long timezone name, which matches Windows behavior and might be the most intelligible, but the web compatibility impact is unclear. BUG=v8:6031,v8:2137,v8:6076 Review-Url: https://codereview.chromium.org/2724373002 Cr-Commit-Position: refs/heads/master@{#44562}
-
Ross McIlroy authored
Moves the logic for eliding non-effectful accumulator load elision from the peephole optimizer to the BytecodeArrayWriter. BUG=v8:6194 Change-Id: I05fbe4ee8ac340e5c355285d0b47e4a9d52fd0a8 Reviewed-on: https://chromium-review.googlesource.com/469828 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#44560}
-
dusan.simicic authored
Add support for I32x4Mul, I32x4MaxS, I32x4MinS, I32x4Eq, I32x4Ne, I32x4Shl, I32x4ShrS, I32x4ShrU, I32x4MaxU, I32x4MinU, S32x4Select operations for mips32 and mips64 architectures BUG= Review-Url: https://codereview.chromium.org/2780713003 Cr-Commit-Position: refs/heads/master@{#44559}
-
Camillo Bruni authored
Enable separatio of ic, bytecode, builtin and stub entries through: --separate-ic=true --separate-bytecodes=true --separate-builtins=true --separate-stubs=true Change-Id: I6da4be7add093bb54abe956c60cd186e735ed9b5 Reviewed-on: https://chromium-review.googlesource.com/473046 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#44555}
-
Michael Starzinger authored
R=clemensh@chromium.org TEST=mjsunit/asm/call-collisions BUG=v8:6202 Change-Id: Ie382ed011defb0146c07336b1fd65532ecc20e2e Reviewed-on: https://chromium-review.googlesource.com/473146Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44554}
-
gsathya authored
This patch implements the runtime semantics of dynamic import. We create a new ASTNode so that we can pass the JSFunction closure() to the runtime function from which we get the script_url. d8 implements the embedder logic required to load and evaluate the modules. The API is mostly implemented as specified. BUG=8:5785 Review-Url: https://codereview.chromium.org/2703563002 Cr-Commit-Position: refs/heads/master@{#44551}
-
Clemens Hammacher authored
According to the spec, section names must be valid UTF-8. This CL adds a check for that. Imported and exported names were already checked before. In order to use the {consume_string} function from the WasmSectionIterator, it moved it out of the ModuleDecoder into the anonymous namespace. It now also gets a name for the string to be parsed, for better error messages. R=rossberg@chromium.org Change-Id: I20b1ddb0bd1c7ada237d8303951073310fe1c714 Reviewed-on: https://chromium-review.googlesource.com/470207 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Rossberg <rossberg@chromium.org> Cr-Commit-Position: refs/heads/master@{#44550}
-
yangguo authored
Other_ID_Start and Other_ID_Continue are not supported by ICU, so for now we implement these manually as special binary property classes. R=jgruber@chromium.org BUG=v8:4743 Review-Url: https://codereview.chromium.org/2808803002 Cr-Commit-Position: refs/heads/master@{#44549}
-
Michael Achenbach authored
This reverts commit 751e8935. Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14885 See: https://github.com/v8/v8/wiki/Blink-layout-tests Original change's description: > [ignition] Add call bytecodes for undefined receiver > > Adds a collection of call bytecodes which have an implicit undefined > receiver argument, for cases such as global calls where we know that the > receiver has to be undefined. This way we can skip an LdaUndefined, > decrease bytecode register pressure, and set a more accurate > ConvertReceiverMode on the interpreter and TurboFan call. > > As a side effect, the "normal" Call bytecode now becomes a rare case > (only with calls and super property calls), so we get rid of its 0-2 > argument special cases and modify CallProperty[N] to use the > NotNullOrUndefined ConvertReceiverMode. > > Change-Id: I9374a32fefd66fc0251b5193bae7a6b7dc31eefc > Reviewed-on: https://chromium-review.googlesource.com/463287 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#44530} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,leszeks@chromium.org,v8-reviews@googlegroups.com,v8-mips-ports@googlegroups.com,v8-ppc-ports@googlegroups.com,v8-x87-ports@googlegroups.com,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7629dec609d0ec938ce7105d6c1c74884e5f9272 Reviewed-on: https://chromium-review.googlesource.com/474744 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44548}
-
yangguo authored
Before serializing an external string for a native source, we replace its resource field with the type and index of the native source. Upon deserialization, we restore the resource. This change also removes the native source caches with a more straight- forward mechanism to find the resource type and index. R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2807023003 Cr-Commit-Position: refs/heads/master@{#44545}
-