- 07 Mar, 2016 21 commits
-
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #15 id:280001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole again Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} > > Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a > Cr-Commit-Position: refs/heads/master@{#34548} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1769043003 Cr-Commit-Position: refs/heads/master@{#34551}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34548}
-
littledan authored
The ES2015 specification requires that String.prototype.startsWith, String.prototype.endsWith and String.prototype.includes use the IsRegExp internal algorithm to determine whether to throw a TypeError to prevent a RegExp from being accidentally cast to a String for those methods. That internal algorithm checks the presence/truthiness of Symbol.match to make its determination. This patch switches the builtins to use this correct test, rather than checking for the [[RegExpMatcher]] internal slot as the builtins previously did. R=yangguo Review URL: https://codereview.chromium.org/1762183002 Cr-Commit-Position: refs/heads/master@{#34547}
-
ahaas authored
I64Shl is lowered to a new turbofan operator, WasmWord64Shl. The new operator takes 3 inputs, the low-word input, the high-word input, and the shift, and produces 2 output, the low-word output and the high-word output. At the moment I implemented the lowering only for ia32, but I think the CL is already big enough. I will add the other platforms in separate CLs. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1756863002 Cr-Commit-Position: refs/heads/master@{#34546}
-
mythria authored
Updated mjsunit.status. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1763053002 Cr-Commit-Position: refs/heads/master@{#34545}
-
zhengxing.li authored
The CL #34376 (https://codereview.chromium.org/1740073002 ) added the Inlining test case and X87 failed at it. The reason is: For TEST(Inlining) test case, when level3 function is inlined, the key optimized crankshaft code will like below code normally: ............ 0x21d53b7f 63 ff571b call [edi+0x1b] <----------- should call action() here ;;; <@32,#27> lazy-bailout ;;; <@36,#31> ---- B3 ---- ;;; <@37,#31> gap 0x21d53b82 66 89c1 mov ecx,eax <----------- Both the inlined function’s pc_offset from DeoptimizationInputData and the pc_offset from sample stack points to here, the same pc address ............ So the TEST(Inlining) test case can get the expected inlined code entry and pass.. In fact, the exact code sequence should like the following in crankshaft: ............ 0x21d53b7f 63 ff571b call [edi+0x1b] <----------- should call action() 0xxxxxxxxx xxxx GenerateBodyInstructionPost() <----------- the pc_offset from sample stack points to here ;;; <@32,#27> lazy-bailout ;;; <@36,#31> ---- B3 ---- ;;; <@37,#31> gap 0x21d53b82 66 89c1 mov ecx,eax <----------- the inlined function’s pc_offset from DeoptimizationInputData points to here. ............ For most of architectures in V8, the GenerateBodyInstructionPost() is empty, so both the inlined function’s pc_offset from DeoptimizationInputData and the pc_offset from sample stack points to the same pc address . But if some architecture has special requirement and need to put some instruction after call instruction, the GenerateBodyInstructionPost() will do that work and generate instructions, the inlined function’s pc_offset from DeoptimizationInputData and The pc_offset from sample stack will points to the different pc address, the TEST(Inlining) test case can’t get the expected inlined code entry and failed. For all current architectures in v8, only x87 have this requirement. After communicated with Alexei Filippov <alph@chromium.org> in E-mail, we decided to disable the Inlining test case for x87 now and try to find a solution. BUG= Review URL: https://codereview.chromium.org/1766263002 Cr-Commit-Position: refs/heads/master@{#34544}
-
ishell authored
HInvokeFunction and HApplyArguments instructions now support tail calling. Inlining of calls at tail position is not supported yet and therefore still disabled. The tail-call-megatest was modified so that the usages of "arguments" object do not disable Crankshaft. TBR=bmeurer@chromium.org BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1760253003 Cr-Commit-Position: refs/heads/master@{#34542}
-
yangguo authored
R=rossberg@chromium.org BUG=v8:4807 LOG=N Committed: https://crrev.com/ee98147ea0d994bcfb0d14d43f490ee828d2426f Cr-Commit-Position: refs/heads/master@{#34531} Review URL: https://codereview.chromium.org/1768973002 Cr-Commit-Position: refs/heads/master@{#34540}
-
machenbach authored
Revert of [debugger] break at each initialization in a multiple var declaration. (patchset #1 id:1 of https://codereview.chromium.org/1768973002/ ) Reason for revert: [Sheriff] Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5160 Original issue's description: > [debugger] break at each initialization in a multiple var declaration. > > R=rossberg@chromium.org > BUG=v8:4807 > LOG=N > > Committed: https://crrev.com/ee98147ea0d994bcfb0d14d43f490ee828d2426f > Cr-Commit-Position: refs/heads/master@{#34531} TBR=rossberg@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4807 Review URL: https://codereview.chromium.org/1770783003 Cr-Commit-Position: refs/heads/master@{#34538}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #14 id:260001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole failure https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8598 Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1773593003 Cr-Commit-Position: refs/heads/master@{#34537}
-
ahaas authored
Instead of using CheckFloatEq and CheckDoubleEq directly, I introduced a macro which first stores the expected result in a volatile variable. Here are some comments of previous CLs: The reason is same as the CL #31808 (issue 1430943002, X87: Change the test case for X87 float operations), please refer: https://codereview.chromium.org/1430943002/. Here is the key comments from CL #31808 Some new test cases use CheckFloatEq(...) and CheckDoubleEq(...) function for result check. When GCC compiling the CheckFloatEq() and CheckDoubleEq() function, those inlined functions has different behavior comparing with GCC ia32 build and x87 build. The major difference is sse float register still has single precision rounding semantic. While X87 register has no such rounding precsion semantic when directly use register value. The V8 turbofan JITTed has exactly same result in both X87 and IA32 port. So we add the following sentence to do type cast to keep the same precision for RunCallInt64ToFloat32/RunCallInt64ToFloat64. Such as: volatile double expect = static_cast<float>(*i). R=titzer@chromium.org, weiliang.lin@intel.com Review URL: https://codereview.chromium.org/1773513002 Cr-Commit-Position: refs/heads/master@{#34534}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34532}
-
yangguo authored
R=rossberg@chromium.org BUG=v8:4807 LOG=N Review URL: https://codereview.chromium.org/1768973002 Cr-Commit-Position: refs/heads/master@{#34531}
-
yangguo authored
Character ranges starting at 1 are not correctly negated. R=jkummerow@chromium.org BUG=chromium:592343 LOG=Y Review URL: https://codereview.chromium.org/1768093002 Cr-Commit-Position: refs/heads/master@{#34528}
-
mythria authored
TestNotEqualsStrict is converted to a TestEqualsStrict and logical not by the parser. Also, CompareIC does not have an implementation for TestNotEqualsStrict. Hence, removing this bytecode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1768593002 Cr-Commit-Position: refs/heads/master@{#34527}
-
Ben L. Titzer authored
TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1769873002 . Cr-Commit-Position: refs/heads/master@{#34525}
-
Ben L. Titzer authored
TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1772593002 . Cr-Commit-Position: refs/heads/master@{#34524}
-
machenbach authored
Reland of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1768963002/ ) Reason for revert: Fix landed in head. Original issue's description: > Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1774463002/ ) > > Reason for revert: > [Sheriff] Problem is not fixed: > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8799 > > Original issue's description: > > [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. > > > > This is a reland of https://codereview.chromium.org/1762203002/ > > > > R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org > > BUG= > > > > Committed: https://crrev.com/aa5770805060a347c6b650634c736ba34ab61728 > > Cr-Commit-Position: refs/heads/master@{#34519} > > TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1769863002 Cr-Commit-Position: refs/heads/master@{#34523}
-
machenbach authored
Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #1 id:1 of https://codereview.chromium.org/1774463002/ ) Reason for revert: [Sheriff] Problem is not fixed: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8799 Original issue's description: > [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. > > This is a reland of https://codereview.chromium.org/1762203002/ > > R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org > BUG= > > Committed: https://crrev.com/aa5770805060a347c6b650634c736ba34ab61728 > Cr-Commit-Position: refs/heads/master@{#34519} TBR=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1768963002 Cr-Commit-Position: refs/heads/master@{#34522}
-
Ben L. Titzer authored
Cr-Commit-Position: refs/heads/master@{#34521}
-
titzer authored
This is a reland of https://codereview.chromium.org/1762203002/ R=ahaas@chromium.org,binji@chromium.org,seththompson@chromium.org BUG= Review URL: https://codereview.chromium.org/1774463002 Cr-Commit-Position: refs/heads/master@{#34519}
-
- 06 Mar, 2016 1 commit
-
-
neis authored
Now there is just one kind, corresponding to what was called "initial" before. Replacement for "suspend": when the parser sees a yield in JS code, it will turn it into a Yield node but wrap its argument in an iterator result object. Replacement for "final": the parser simply inserts a return statement instead. R=littledan@chromium.org, mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1751613004 Cr-Commit-Position: refs/heads/master@{#34515}
-
- 05 Mar, 2016 2 commits
-
-
adamk authored
Revert of [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. (patchset #2 id:20001 of https://codereview.chromium.org/1762203002/ ) Reason for revert: New test test-wasm-module-builder fails on Linux - shared bot: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20shared/builds/8793 Original issue's description: > [wasm] Add a JavaScript utility to make it easier to build WASM modules from JavaScript. > > R=binji@chromium.org,seththompson@chromium.org > BUG= > > Committed: https://crrev.com/d130c6bdc6a424b068614592a0b79a34750af0fc > Cr-Commit-Position: refs/heads/master@{#34513} TBR=binji@chromium.org,seththompson@chromium.org,titzer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1771553002 Cr-Commit-Position: refs/heads/master@{#34514}
-
titzer authored
R=binji@chromium.org,seththompson@chromium.org BUG= Review URL: https://codereview.chromium.org/1762203002 Cr-Commit-Position: refs/heads/master@{#34513}
-
- 04 Mar, 2016 16 commits
-
-
titzer authored
R=rossberg@chromium.org,binji@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1764723002 Cr-Commit-Position: refs/heads/master@{#34511}
-
binji authored
Reland of https://codereview.chromium.org/1765673002 R=titzer@chromium.org R=bradnelson@chromium.org LOG=n BUG= Review URL: https://codereview.chromium.org/1761173003 Cr-Commit-Position: refs/heads/master@{#34506}
-
mbrandy authored
For platforms that use function descriptors (currently AIX and PPC64BE), log an external callback's entrypoint address rather than its function descriptor address. R=jkummerow@chromium.org, michael_dawson@ca.ibm.com TEST=cctest/test-cpu-profiler/JsNativeJsSample BUG= Review URL: https://codereview.chromium.org/1752173003 Cr-Commit-Position: refs/heads/master@{#34505}
-
dgozman authored
This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged. Attempt #2. First one was reverted due to chromium breakage: SetAutorunMicrotasks(false) was broken. BUG=chromium:585949 LOG=Y TEST=ScopedMicrotasks Review URL: https://codereview.chromium.org/1741893003 Cr-Commit-Position: refs/heads/master@{#34504}
-
machenbach authored
Revert of Reland "[api] Don't go to javascript to construct API functions" (patchset #1 id:1 of https://codereview.chromium.org/1756973002/ ) Reason for revert: [Sheriff] Breaks blink tests. Please fix upstream first. https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5125 Original issue's description: > Reland "[api] Don't go to javascript to construct API functions" > > BUG= > R=verwaest@chromium.org > > Committed: https://crrev.com/d5d4f0b80f585878130bffb40ff8e960646823d8 > Cr-Commit-Position: refs/heads/master@{#34496} TBR=verwaest@chromium.org,bmeurer@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1767663002 Cr-Commit-Position: refs/heads/master@{#34502}
-
neis authored
BUG=chromium:591699 LOG=n R=rossberg Review URL: https://codereview.chromium.org/1764953002 Cr-Commit-Position: refs/heads/master@{#34498}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1768553002 Cr-Commit-Position: refs/heads/master@{#34497}
-
jochen authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1756973002 Cr-Commit-Position: refs/heads/master@{#34496}
-
verwaest authored
BUG=588893, 325923 LOG=n Review URL: https://codereview.chromium.org/1762273002 Cr-Commit-Position: refs/heads/master@{#34493}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
ahaas authored
On 32-bit systems FXXXConvertI64 instructions are compiled to calls to C functions. The TF node for the function call is already generated in the wasm compiler, the lowering of the I64 parameter is done in the Int64Lowering. R=titzer@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1738623003 Cr-Commit-Position: refs/heads/master@{#34487}
-
bmeurer authored
Add StringLessThanStub, StringLessThanOrEqualStub, StringGreaterThanStub and StringGreaterThanOrEqualStub, based on the CodeStubAssembler, and hook them up with TurboFan (and Ignition). The stubs are currently essentially comparable with the StringCompareStub, which is now obsolete. We can later extend these stubs to cover more interesting cases (i.e. two byte sequential string comparisons, etc.). R=epertoso@chromium.org Review URL: https://codereview.chromium.org/1765823002 Cr-Commit-Position: refs/heads/master@{#34485}
-
machenbach authored
Revert of [wasm] Update {i32,i64}.const to use signed leb128 (patchset #3 id:40001 of https://codereview.chromium.org/1765673002/ ) Reason for revert: [Sheriff] Breaks chromium win compile: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/3844/steps/compile/logs/stdio Original issue's description: > [wasm] Update {i32,i64}.const to use signed leb128 > > R=titzer@chromium.org > R=bradnelson@chromium.org > LOG=n > > Committed: https://crrev.com/4b613a67e0aa4e073946f5f0dd95ee9366c8ca86 > Cr-Commit-Position: refs/heads/master@{#34471} TBR=bradnelson@chromium.org,titzer@chromium.org,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1760363003 Cr-Commit-Position: refs/heads/master@{#34482}
-
machenbach authored
Revert of Introduce v8::MicrotasksScope. (patchset #6 id:100001 of https://codereview.chromium.org/1741893003/ ) Reason for revert: [Sheriff] Speculative. Seems to break a bunch of webkit tests and causes timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5103 Please rebase upstream if intended. Original issue's description: > Introduce v8::MicrotasksScope. > > This scope is used to control microtasks execution when MicrotasksPolicy::kScoped is engaged. > > BUG=chromium:585949 > LOG=Y > TEST=ScopedMicrotasks > > Committed: https://crrev.com/db77cec242dbdf8ee26da8232fa930270429f253 > Cr-Commit-Position: refs/heads/master@{#34472} TBR=jochen@chromium.org,adamk@chromium.org,dgozman@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:585949 Review URL: https://codereview.chromium.org/1762943002 Cr-Commit-Position: refs/heads/master@{#34480}
-
bradnelson authored
BUG= TBR=titzer@chromium.org LOG=N NOTRY=true Review URL: https://codereview.chromium.org/1761273002 Cr-Commit-Position: refs/heads/master@{#34477}
-
bradnelson authored
Frames entering of inside wasm don't have a function or context argument. Adding distinct wasm frame and function types to express this. Fixes a GC issue on several embenchen wasm tests, reenabling them. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/wasm/embenchen R=titzer@chromium.org,aseemgarg@chromium.org,jfb@chromium.org,yangguo@chromium.org LOG=N Review URL: https://codereview.chromium.org/1764603003 Cr-Commit-Position: refs/heads/master@{#34476}
-