- 10 Mar, 2016 34 commits
-
-
zhengxing.li authored
Reason for revert: The original x87 related codes of the CL #34627 (https://codereview.chromium.org/1748123003) had a mistake and caused the x87 debug build fail. Need to fix it and add it into the x87 port of the CL #34627 BUG= Review URL: https://codereview.chromium.org/1778293003 Cr-Commit-Position: refs/heads/master@{#34679}
-
machenbach authored
This adds a function to the sancov_merger that merges the output files of one swarming shard in parallel. This will be called from the infrastructure when collecting/merging swarming results. The tool will be called subsequently for each shard. On the first call, the target dir will be empty and the sancov files will just be moved. BUG=chromium:568949 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1782843002 Cr-Commit-Position: refs/heads/master@{#34678}
-
mstarzinger authored
This is because compiler.cc is awesome. There are cases where we do not yet have a SharedFunctionInfo that can tell us whether we are compiling a generator function, we query the FunctionLiteral instead. R=rmcilroy@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1780193002 Cr-Commit-Position: refs/heads/master@{#34677}
-
rossberg authored
This is old code, and the same pattern appears in other places. I have no idea what the checker's problem is all of a sudden... TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1785693002 Cr-Commit-Position: refs/heads/master@{#34676}
-
mstarzinger authored
This ensures our optimizing compilers as well as the interpreter are never tasked with compiling the generator-resuming builtin methods. The corresponding intrinsics for those methods are not supported and it is not possible to provide a C++ reference implementation for them. We do this by assigning builtin function ids to them that we can recognize during the compiler dispatch. Note that this also affects the interpreter, because methods having a builtin function id assigned are not interpreted ({function_data} field is overlapping). If this ever changes we can still do an early check in the compiler dispatch (similar to the optimizing compilers) easily. This applies to the following methods: - Generator.prototype.next (calls Runtime_GeneratorNext). - Generator.prototype.return (calls Runtime_GeneratorReturn). - Generator.prototype.throw (calls Runtime_GeneratorThrow). R=neis@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1779123003 Cr-Commit-Position: refs/heads/master@{#34675}
-
joransiu authored
Add S390 platform specific \#includes across various common files. Add S390 CPU features to enum. Add S390 implementation to extract sp/fp/pc from signal context. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1777593003 Cr-Commit-Position: refs/heads/master@{#34674}
-
balazs.kilvady authored
Make the low level assembler implementation exact and protected to disallow explicit usage. BUG= Review URL: https://codereview.chromium.org/1749263002 Cr-Commit-Position: refs/heads/master@{#34673}
-
mstarzinger authored
This ensures the interpreter is not tasked with compiling generator functions. It currently does not support suspending activations at yielding points, but we still want to be able to activate it for the rest of JavaScript in the meantime. R=rmcilroy@chromium.org BUG=v8:4681 LOG=n Review URL: https://codereview.chromium.org/1782013002 Cr-Commit-Position: refs/heads/master@{#34672}
-
machenbach authored
BUG=chromium:535160, chromium:568949 LOG=n TBR=tandrii@chromium.org, kjellander@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1777263002 Cr-Commit-Position: refs/heads/master@{#34671}
-
ssanfilippo authored
LOG=N Review URL: https://codereview.chromium.org/1778073003 Cr-Commit-Position: refs/heads/master@{#34670}
-
rossberg authored
R=mstarzinger@chromium.org,bmeurer@chromium.org,adamk@chromium.org BUG=v8:3956 LOG=Y Review URL: https://codereview.chromium.org/1773653002 Cr-Commit-Position: refs/heads/master@{#34669}
-
jfb authored
This will require an equivalent sexpr-wasm change. See: https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure R=titzer@chromium.org, binji@chronium.org Review URL: https://codereview.chromium.org/1765843002 Cr-Commit-Position: refs/heads/master@{#34668}
-
Toon Verwaest authored
TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1777483011 . Cr-Commit-Position: refs/heads/master@{#34667}
-
epertoso authored
BUG=593359 LOG=y Review URL: https://codereview.chromium.org/1779713005 Cr-Commit-Position: refs/heads/master@{#34666}
-
ulan authored
BUG=chromium:568495 LOG=NO Review URL: https://codereview.chromium.org/1775003003 Cr-Commit-Position: refs/heads/master@{#34665}
-
verwaest authored
NOPRESUBMIT=true BUG= Review URL: https://codereview.chromium.org/1776353002 Cr-Commit-Position: refs/heads/master@{#34664}
-
machenbach authored
BUG=chromium:535160,chromium:568949 LOG=n TBR=tandrii@chromium.org, kjellander@chromium.org Review URL: https://codereview.chromium.org/1778313002 Cr-Commit-Position: refs/heads/master@{#34663}
-
jacob.bramley authored
Only CPSR_f is supported, and then only for the flags that we actually simulate (NZCV). This isn't currently used, but will be useful for some tests. BUG= Review URL: https://codereview.chromium.org/1776933003 Cr-Commit-Position: refs/heads/master@{#34662}
-
yangguo authored
Previously, optimization has been disabled because of an assertion failure, which requires the context to be linked into the weak native context list of the heap. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1777883003 Cr-Commit-Position: refs/heads/master@{#34661}
-
verwaest authored
Inline calling into the interceptor into the IC callbacks rather than going through the LookupIterator. This is highly performance sensitive as there is no faster path; it's used directly by the IC. BUG=chromium:592305 LOG=n Review URL: https://codereview.chromium.org/1778493005 Cr-Commit-Position: refs/heads/master@{#34660}
-
machenbach authored
BUG=v8:4680 LOG=n NOTRY=true TBR=rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1778323002 Cr-Commit-Position: refs/heads/master@{#34659}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#34658}
-
yangguo authored
Changes include: - better test coverage for builds with snapshot - write snapshot blobs to buffer instead of test serialization files - renamed tests R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1777213002 Cr-Commit-Position: refs/heads/master@{#34657}
-
zhengxing.li authored
port 240b7db9 (r34630) original commit message: I implemented I64ShrU and I64ShrS the same as I64Shl in https://codereview.chromium.org/1756863002 BUG= Review URL: https://codereview.chromium.org/1783703003 Cr-Commit-Position: refs/heads/master@{#34656}
-
hpayer authored
BUG=chromium:561449 LOG=n Review URL: https://codereview.chromium.org/1778663005 Cr-Commit-Position: refs/heads/master@{#34655}
-
neis authored
We must close the iterator whenever the destructuring didn't exhaust it, unless an iterator operation (eg. next) threw. We do this by wrapping the iterator use in a try-catch-finally similar to the desugaring of for-of. This is behind --harmony-iterator-close. R=adamk@chromium.org BUG=v8:3566 LOG=Y Review URL: https://codereview.chromium.org/1772793002 Cr-Commit-Position: refs/heads/master@{#34654}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#34653}
-
zhengxing.li authored
port 5096492f (r34627) original commit message: - Eliminate stubs with a variable number of arguments. (That only worked due to their very limited use. These stubs' interface descriptors were basically lying about their number of args, which will fail when used generically.) - Fix all CallApi*Stubs' interface descriptors to no longer lie about their arguments. - Unify CallApi*Stub, for * in Function, Accessor, FunctionWithFixedArgs. (Since these are now all doing the same thing.) - Rename the unified stub (and interface descriptors) to *ApiCallback*, since that's really what they're doing. - Refuse inlining an API callback if its number of parameters exceeds the supported number of args. BUG= Review URL: https://codereview.chromium.org/1783713002 Cr-Commit-Position: refs/heads/master@{#34652}
-
zhengxing.li authored
port c29a4560(r34610) original commit message: In case when F was called with incompatible number of arguments (and therefore the arguments adator frame was created), F inlines a tail call of G which then deopts the deoptimizer should also remove the arguments adaptor frame for F. This CL adds required machinery to the deoptimizer. BUG= Review URL: https://codereview.chromium.org/1785593002 Cr-Commit-Position: refs/heads/master@{#34651}
-
zhengxing.li authored
port 679d9503(r34608) original commit message: According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all, comparisons of document.all to other values such as strings or objects, are unaffected. In fact document.all only gets special treatment in comparisons with null or undefined according to HTML. Especially setting the undetectable doesn't make two distinct JSReceivers equal. BUG= Review URL: https://codereview.chromium.org/1784763002 Cr-Commit-Position: refs/heads/master@{#34650}
-
v8-autoroll authored
Rolling v8/tools/clang to fc7b250f6ca03bcbcd2cd1a3e4102cb639a2814a TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1784643005 Cr-Commit-Position: refs/heads/master@{#34649}
-
zhengxing.li authored
port 9dcd0857 (r34571) original commit message: Before this CL, various code stubs used different techniques for marking their frames to enable stack-crawling and other access to data in the frame. All of them were based on a abuse of the "standard" frame representation, e.g. storing the a context pointer immediately below the frame's fp, and a function pointer after that. Although functional, this approach tends to make stubs and builtins do an awkward, unnecessary dance to appear like standard frames, even if they have nothing to do with JavaScript execution. This CL attempts to improve this by: * Ensuring that there are only two fundamentally different types of frames, a "standard" frame and a "typed" frame. Standard frames, as before, contain both a context and function pointer. Typed frames contain only a minimum of a smi marker in the position immediately below the fp where the context is in standard frames. * Only interpreted, full codegen, and optimized Crankshaft and TurboFan JavaScript frames use the "standard" format. All other frames use the type frame format with an explicit marker. * Typed frames can contain one or more values below the type marker. There is new magic macro machinery in frames.h that simplifies defining the offsets of these fields in typed frames. * A new flag in the CallDescriptor enables specifying whether a frame is a standard frame or a typed frame. Secondary register location spilling is now only enabled for standard frames. * A zillion places in the code have been updated to deal with the fact that most code stubs and internal frames use the typed frame format. This includes changes in the deoptimizer, debugger, and liveedit. * StandardFrameConstants::kMarkerOffset is deprecated, (CommonFrameConstants::kContextOrFrameTypeOffset and StandardFrameConstants::kFrameOffset are now used in its stead). BUG= Review URL: https://codereview.chromium.org/1774353002 Cr-Commit-Position: refs/heads/master@{#34648}
-
littledan authored
BUG=v8:4348 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1783643002 Cr-Commit-Position: refs/heads/master@{#34647}
-
littledan authored
This flag bans illegal (and likely useless) constructs like for (;;) function f() {} R=adamk BUG=v8:4824 LOG=Y Review URL: https://codereview.chromium.org/1781653005 Cr-Commit-Position: refs/heads/master@{#34646}
-
- 09 Mar, 2016 6 commits
-
-
mbrandy authored
Port 679d9503 Original commit message: According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all, comparisons of document.all to other values such as strings or objects, are unaffected. In fact document.all only gets special treatment in comparisons with null or undefined according to HTML. Especially setting the undetectable doesn't make two distinct JSReceivers equal. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1785503002 Cr-Commit-Position: refs/heads/master@{#34645}
-
mbrandy authored
Port c29a4560 Original commit message: In case when F was called with incompatible number of arguments (and therefore the arguments adator frame was created), F inlines a tail call of G which then deopts the deoptimizer should also remove the arguments adaptor frame for F. This CL adds required machinery to the deoptimizer. R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1775393004 Cr-Commit-Position: refs/heads/master@{#34644}
-
mbrandy authored
Port 9dcd0857 Original commit message: Before this CL, various code stubs used different techniques for marking their frames to enable stack-crawling and other access to data in the frame. All of them were based on a abuse of the "standard" frame representation, e.g. storing the a context pointer immediately below the frame's fp, and a function pointer after that. Although functional, this approach tends to make stubs and builtins do an awkward, unnecessary dance to appear like standard frames, even if they have nothing to do with JavaScript execution. This CL attempts to improve this by: * Ensuring that there are only two fundamentally different types of frames, a "standard" frame and a "typed" frame. Standard frames, as before, contain both a context and function pointer. Typed frames contain only a minimum of a smi marker in the position immediately below the fp where the context is in standard frames. * Only interpreted, full codegen, and optimized Crankshaft and TurboFan JavaScript frames use the "standard" format. All other frames use the type frame format with an explicit marker. * Typed frames can contain one or more values below the type marker. There is new magic macro machinery in frames.h that simplifies defining the offsets of these fields in typed frames. * A new flag in the CallDescriptor enables specifying whether a frame is a standard frame or a typed frame. Secondary register location spilling is now only enabled for standard frames. * A zillion places in the code have been updated to deal with the fact that most code stubs and internal frames use the typed frame format. This includes changes in the deoptimizer, debugger, and liveedit. * StandardFrameConstants::kMarkerOffset is deprecated, (CommonFrameConstants::kContextOrFrameTypeOffset and StandardFrameConstants::kFrameOffset are now used in its stead). R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1778713002 Cr-Commit-Position: refs/heads/master@{#34643}
-
mbrandy authored
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1779803004 Cr-Commit-Position: refs/heads/master@{#34642}
-
titzer authored
R=binji@chromium.org BUG= Review URL: https://codereview.chromium.org/1783593002 Cr-Commit-Position: refs/heads/master@{#34641}
-
adamk authored
BUG=v8:4247 LOG=y Review URL: https://codereview.chromium.org/1781573003 Cr-Commit-Position: refs/heads/master@{#34640}
-